cdrecord
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Ubuntu 20.04 Focal Fossa
Du möchtest den Artikel für eine weitere Ubuntu-Version testen? Mitarbeit im Wiki ist immer willkommen! Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
cdrecord 🇬🇧 ist ein Kommandozeilenprogramm, welches sich zum Brennen von allen Arten von Audio- und Daten-CDs eignet. cdrecord ist Bestandteil der cdrtools, die außer cdrecord noch die Programme mkisofs und cdda2wav enthalten. Außerdem kann cdrecord
DVD und Blu-ray (BD) brennen, wobei es aber nicht alle Moeglichkeiten von growisofs
, cdrskin
oder xorriso
bietet.
Das Programm wird nicht mehr entwickelt, da der Entwickler leider verstorben ist.
Hinweis:
Unter Ubuntu verweist der Aufruf von cdrecord
automatisch auf wodim
. Um explizit cdrecord nutzen zu können, muss dieses aus einem PPA installiert werden.
Installation¶
Die Anwendung ist seit Ubuntu 7.10 nicht mehr in den offiziellen Paketquellen enthalten.
PPA¶
Aktuelle Versionen gibt es über das "Personal Package Archiv" (PPA) [1] von Brandon Snider.
Adresszeile zum Hinzufügen des PPAs:
ppa:brandonsnider/cdrtools
Hinweis!
Zusätzliche Fremdquellen können das System gefährden.
Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen sind der PPA-Beschreibung des Eigentümers/Teams brandonsnider zu entnehmen.
Nach dem Aktualisieren der Paketquellen können die folgenden Pakete installiert [2] werden:
cdrecord (ppa)
mkisofs (ppa)
Befehl zum Installieren der Pakete:
sudo apt-get install cdrecord mkisofs
Oder mit apturl installieren, Link: apt://cdrecord,mkisofs
Konfiguration¶
Die allgemeine Syntax von cdrecord lautet:
sudo cdrecord <allg. Optionen> [dev=deviceX] <Track-Optionen> Datei(en)
deviceX
ist der Brenner wie z.B. /dev/sr0
oder /dev/cdrw
(Linux-Geräte-Notation) oder 0,1,0
oder 1,0,0
(SCSI-Notation). Siehe auch Datenträger (Abschnitt „Optische-Laufwerke“) und Laufwerksinformationen.
Allgemeine Optionen¶
cdrecord kennt eine sehr große Anzahl von Optionen, von denen im folgenden nur einige (grundlegende) vorgestellt werden. Zu beachten ist, dass nicht allen Optionen ein "-
" vorangestellt wird!
Optionen | |
Option | Beschreibung |
-checkdrive | überprüft den CD / DVD Brenner und gibt dessen Möglichkeiten aus - siehe Laufwerksinformationen |
-v | Ausführliche Ausgabe während des Schreibvorgangs, z.B. über den Fortschritt des Brennens |
-dummy | Simulation - führt den kompletten Befehl aus, allerdings wird der Laser des Brenners nicht aktiviert. (Geht nur mit CD, DVD-R, unformatierten DVD-RW Medien.) |
speed=X | Setzt die Schreibgeschwindigkeit für CD auf X * 150 KiB/s. Je nach Mediumtyp wird diese Geschwindigkeit erst am Ende des Brennlaufs erreicht. Der Brenner setzt je nach Medium auch Ober- und Untergrenzen. |
-multi | Startet eine Multisession-CD/DVD. Diese Option muss bei Multisession-CDs/DVDs bei jeder Session außer der letzten gesetzt sein. |
-format | Formatiert eine CD-RW bzw. wiederbeschreibbare DVD. Funktioniert bei DVDs zur Zeit nur mit DVD+RW |
driveropts=burnfree | Verhindert, dass der Schreibpuffer leer läuft (auch bekannt als z.B. Burnproof) |
fs=16m | Richtet einen Ringpuffer von 16 MiB ein, um kurze Pausen beim Lesen der Dateiinhalte überbrücken zu können. Bei 20x CD reichen 16 MiB für etwa 5 Sekunden, bei 4x DVD für 3, bei 4x BD für knapp eine Sekunde. Mit hohen DVD und BD Geschwindigkeiten sollte man also eher fs=64m verwenden. |
-atip | Informationen zum Hersteller und zu sonstigen Parametern des Mediums erfragen |
-dao | Schaltet in den Session-At-once-Modus, oft auch Disk-At-Once genannt. Das geht bei CD nur im ersten Brennlauf einer -multi Serie von Läufen. Bei DVD und BD passt es garnicht zu -multi . |
-load | Zieht das Medium ein und beendet das Programm |
-lock | Zieht das Medium ein, blockiert den manuellen Schalter für den Auswurf und beendet das Programm. Program eject oder cdrecord Option -eject können danach immer noch auswerfen. |
-eject | Wirft das Medium nach abgeschlossener Arbeit aus |
-msinfo | Multi-Session-Informationen zum aktuellen Medium erfragen |
-minfo | Aktuellen Status des Mediums erfragen. Wichtig, wenn es Probleme gibt, die man nicht erklären kann. |
-version | Gibt die Versionsnummer des Programms aus |
Track-Optionen¶
Track-Optionen | |
Track-Option | Beschreibung |
-data | Es wird eine CD so gebrannt, dass das Ergebnis als CD-ROM lesbar ist. Die Eingabedatei für cdrecord ist dann fast immer ein Filesystemabbild (zB. ISO 9660 von mkisofs oder xorriso ) oder ein Datenarchiv (zB. von tar ). Der Modus -data ist standardmäßig eingeschaltet. |
-audio | Es wird eine "normale" Audio-CD gebrannt, die als CD-DA von den Geräten der Unterhaltungsindustrie abgespielt werden kann. Am Computer braucht man zum Abspielen Programme wie mplayer . Wichtig: Diese Option ist nicht für DVD oder BD Medien geeignet. |
padsize=300k | Schreibt nach dem Ende der folgenden Eingabedatei eine Lücke von 300 KiB. Das ist eine traditionelle Vorkehrung gegen einen traditionellen Bug im Linux Kernel, der nur CDs betrifft, die nicht mit Option -dao gebrannt wurden. (linux-scsi könnte ihn auch mal reparieren, wenn man denn wollte. Im Moment müssen wir ihm viele Nullen als Opfer geben.) |
Eine komplette Übersicht aller Optionen erhält man in der Manpage zu cdrecord oder in der Dokumentation.
Nutzung¶
Laufwerksinformationen¶
Alle CD-/DVD-/Blu-ray-Brenner werden über das SCSI-Protokoll bedient. Die von cdrecord zum Transport von SCSI-Kommandos zum Brenner verwendete Bibliothek libscg verwendet bewusst eine Syntax, die mit allen Betriebssystemen kompatibel ist, um portable Skripte und GUIs implementieren zu können. Bei Rechnern, in denen nur ein Gerät vom SCSI-Basistyp "CD-ROM" verbaut ist, kann die Option dev=x,y,z
mit aktuellen cdrecord-Versionen (seit Mitte 2006) entfallen. Beispiel:
cdrecord -scanbus
Cdrecord-ProDVD-ProBD-Clone 2.01.01a57 (i686-pc-linux-gnu) Copyright (C) 1995-2009 Jörg Schilling Linux sg driver version: 3.5.34 Using libscg version 'schily-0.9'. scsibus1: 1,0,0 100) 'SAMSUNG ' 'CD-ROM SC-152L ' 'C100' Removable CD-ROM 1,1,0 101) 'HL-DT-ST' 'DVD-RAM GSA-H22N' '1.00' Removable CD-ROM 1,2,0 102) * 1,3,0 103) * 1,4,0 104) * 1,5,0 105) * 1,6,0 106) * 1,7,0 107) *
Da in diesem Beispiel zwei Laufwerke vorhanden sind, muss der nächste Befehl explizit um die Angabe von dev=x,y,z
(SCSI-Adresse des Geräts) ergänzt werden (bei nur einem Laufwerk ist dies nicht notwendig):
cdrecord -checkdrive dev=1,1,0
Cdrecord-ProDVD-ProBD-Clone 2.01.01a57 (i686-pc-linux-gnu) Copyright (C) 1995-2009 Jörg Schilling scsidev: '1,1,0' scsibus: 1 target: 1 lun: 0 Linux sg driver version: 3.5.34 Using libscg version 'schily-0.9'. Device type : Removable CD-ROM Version : 5 Response Format: 2 Capabilities : Vendor_info : 'HL-DT-ST' Identifikation : 'DVD-RAM GSA-H22N' Revision : '1.00' Device seems to be: Generic mmc2 DVD-R/DVD-RW/DVD-RAM. Using generic SCSI-3/mmc CD-R/CD-RW driver (mmc_cdr). Driver flags : MMC-3 SWABAUDIO BURNFREE Supported modes: TAO PACKET SAO SAO/R96P SAO/R96R RAW/R16 RAW/R96P RAW/R96R LAYER_JUMP cdrecord: Warning: The DMA speed test has been skipped.
Beispiele¶
Um cdrecord zu nutzen, öffnet man ein Terminal [3] und ruft das Programm mit den entsprechenden Optionen und Parametern auf. Die zu brennenden Dateien können im .wav-Format, im .au-Format (beides Audio-Dateien) oder anderen Formaten (Daten-Dateien) vorliegen.
Hinweis:
Solange sich genau ein Brenner im System befindet, kann die Option dev=...
weggelassen werden. Darauf nehmen die folgenden Beispiele Bezug.
Im ersten Beispiel wird ein ISO-Image mit doppelter Geschwindigkeit gebrannt:
sudo cdrecord speed=2 image.iso
Im zweiten Beispiel wird eine Multisession-CD angefangen. Der dabei unbenutzt gebliebene Platz kann später in einem weiteren Lauf ("Session") von
cdrecord
zum Schreiben benutzt werden.sudo cdrecord -v -multi fs=16m padsize=300k image.iso
Später kann eine weitere Session an die CD angehängt werden. Weil die jeweils jüngste vorhandene Session einer CD vom Linux Kernel als Einstiegspunkt für das Filesystem auf der ganzen CD benutzt wird, muss das ISO 9660 Programm den Inhalt des nächsten ISO-Image passend zu ihrem Vorgänger gestalten. Nehmen wir an, wir wollten die Dateien zur CD hinzufügen, die auf der Festplatte im Verzeichnis "$HOME"/fotos_fuer_cd bereitliegen. Auf der CD sollen sie im Verzeichnis /fotos gespeichert sein. Dann müssen wir zuerst mit der
cdrecord
Option-msinfo
feststellen, wo der Linux Kernel ansetzen würde und wo der Brenner die nächste Session beginnen würde. Dann lassen wirmkisofs
den Verzeichnisbaum der vorherigen Session lesen, nach unseren Wünschen ändern, und zusammen mit den neu hinzugekommenen Dateiinhalten als image2.iso speichern. Dieses Abbild lassen wircdrecord
dann auf die CD brennen.ms_info=$(sudo cdrecord -msinfo) mkisofs -M /dev/sr0 -C $"ms_info" -o image2.iso -graft-points -r -J /fotos="$HOME"/fotos_fuer_cd sudo cdrecord -v -multi fs=16m padsize=300k image2.iso
Wenn man die Option
-multi
weglässt, kann später keine weitere Session mehr angehängt werden. (Deutlich einfacher geht Multisession mitgrowisofs
oderxorriso
, die automatisch zwischen ISO Produktion und Brennen koordinieren.)Im vierten Beispiel werden alle Audiodateien (.wav) auf dem Verzeichnis ~/Musik/ im Homeverzeichnis als Audio-CD gebrannt (Falls die Länge des Audiotracks nicht passt, erscheint in der Ausgabe "Bad audio track size", dann hilft der Schalter
-pad
, welches die Bytes auffüllt):sudo cdrecord -audio ~/Musik/*.wav
Im letzten Beispiel wird eine Audio-CD entsprechend der Vorgaben in der Datei audio.cue gebrannt, die alle notwendigen Informationen enthält. Die Felder in dieser Datei werden, sofern vorhanden, auch zu Erstellung der notwendigen Informationen für CD-Text herangezogen:
sudo cdrecord -audio -pad -useinfo -text -dao --cuefile=audio.cue
Inhalt von audio.cue:
PERFORMER "Ein Interpret" TITLE "Ein Albumtitel" FILE "audio.wav" WAVE TRACK 01 AUDIO TITLE "Der erste Titel" PERFORMER "Ein Interpret" INDEX 01 00:00:00 TRACK 02 AUDIO TITLE "Der zweite Titel" PREGAP 00:00:00 PERFORMER "Ein Interpret" INDEX 01 01:56:00 TRACK 03 AUDIO TITLE "Der dritte Titel" PREGAP 00:00:00 PERFORMER "Ein Interpret" INDEX 01 05:46:40 TRACK 04 AUDIO TITLE "Der vierte Titel" PREGAP 00:00:00 PERFORMER "Ein Interpret" INDEX 01 09:51:70
Die Audiodaten sämtlicher Titel befinden sich anschließend alle in der Datei audio.wav, aus der jetzt gemäß der Vorgaben im obigen Befehl eine Audio-CD erstellt wird. Als Beispiel diente hier eine Live-Aufnahme, deren Titel ohne Lücke ineinander übergehen (
PREGAP 00:00:00
).Im letzten Beispiel wird eine CD oder DVD komplett gelöscht:
sudo umount /dev/sr0 sudo cdrecord dev=/dev/sr0 blank=disk
Problembehebung¶
Da unter Ubuntu der Befehl cdrecord
auf wodim
verweist, wird das "originale" cdrecord bei einem Update des Pakets wodim funktionsuntüchtig. Dann muss man es aus dem PPA neu installieren.
Links¶
Projektseite 🇬🇧
Cdrtools - why do Linux distributions create bad forks? 🇬🇧 - Meinung des Entwicklers Jörg Schilling zur Problematik cdrtools vs. cdrkit
cdrtools - Wikipedia-Artikel (behandelt auch die Hintergründe, warum cdrecord durch wodim ersetzt wurde)