13.5CDs und DVDs brennen
Mittlerweile verschwinden CD- und DVD-Laufwerke aus PC- und Notebook-Angeboten wie vor mehr als einem Jahrzehnt die Diskettenlaufwerke. Wenn Sie doch noch über einen CD- oder DVD-Brenner verfügen (vielleicht auch als externes Gerät mit USB-Anschluss), dann gelingt das Brennen einer CD am einfachsten mit dem KDE-Programm K3B oder mit dessen Gnome-Pendant Brasero. Diese Programme verbergen alle technischen Details hinter einer Benutzeroberfläche. Das nicht mehr gewartete Programm burncdda bietet selbst für die Textkonsole eine simple Benutzeroberfläche.
In diesem Abschnitt stelle ich Ihnen in Kurzform die wichtigsten Kommandos vor, die hinter den Kulissen dieser Benutzeroberflächen zum Einsatz kommen. Dabei konzentriere ich mich auf das Erstellen von Daten-CDs oder -DVDs und gehe nicht auf Audio-CDs oder Video-DVDs ein.
ISO-Images
Bevor Sie eine Daten-CD oder eine -DVD brennen können, brauchen Sie ein sogenanntes ISO-Image. Diese Datei enthält die zu brennenden Daten im internen Format des optischen Datenträgers. In der Regel werden Sie zum Erzeugen von ISO-Dateien genisoimage einsetzen (ehemals mkisofs).
Mit dem Kommando genisoimage schreiben Sie alle Dateien eines oder mehrerer Verzeichnisse in eine ISO-Datei. Das für CDs vorgesehene Format ISO-9660 verwendet einen eigenen, sehr limitierten Zeichensatz, der nur wenige Nicht-ASCII-Zeichen zulässt. Um diesen Mangel zu umgehen, gibt es mehrere Erweiterungen zum ISO-Standard – die Rockridge-Extension für Linux und die Joliet-Extension für Windows. Größtmögliche Kompatibilität erreichen Sie, wenn Sie beim Kommando genisoimage mit den Optionen -r und -J beide Erweiterungen aktivieren.
Das folgende Kommando schreibt alle Dateien innerhalb des /master-Verzeichnisses in die Datei /tmp/master.iso. Das Verzeichnis master ist selbst kein Verzeichnis im ISO-Image. Das ISO-Image bekommt den Namen Linux (Option -V). Wenn Sie aus dem ISO-Image eine CD brennen, gilt diese Zeichenkette als CD-Name.
Das zweite Beispiel ist dem ersten ähnlich, allerdings wird diesmal eine ISO-Datei für eine boot-fähige CD/DVD erstellt:
Im dritten Beispiel ist das Verzeichnis master nun selbst ein Verzeichnis im ISO-Image (Option -graft-points):
Wenn Sie eine Daten-CD oder -DVD (keine Audio-CD!) unverändert kopieren möchten, reicht ein einziges dd-Kommando aus, um die erforderliche ISO-Datei zu erzeugen. Statt /dev/cdrom müssen Sie den Device-Namen Ihres CD- oder DVD-Laufwerks angeben, der je nach Distribution variiert.
Mit dem sogenannten Loopback-Device des Linux-Kernels können Sie eine Datei als Dateisystem betrachten und mit mount in den Verzeichnisbaum einbinden. Die Loopback-Funktion ist im Kernelmodul loop versteckt. Falls das Modul nicht automatisch geladen wird, müssen Sie eventuell mit modprobe nachhelfen. Das folgende Kommando bindet das in der Datei master.iso enthaltene ISO-Dateisystem im Read-Only-Modus in den Verzeichnisbaum ein:
Über das Verzeichnis iso-test können Sie jetzt den Inhalt der zukünftigen CD-ROM überprüfen.
CDs und DVDs brennen
Bevor Sie die im Folgenden beschriebenen Kommandos einsetzen können, müssen Sie wissen, unter welchem Device-Namen Sie Ihr Laufwerk ansprechen. In der Regel lautet der richtige Device-Name /dev/sr0, mitunter auch /dev/scd0.
DVD+RWs und DVD-RWs im Modus Restricted Overwrite müssen vor der ersten Verwendung formatiert werden. Diese Aufgabe übernimmt dvd+rw-format:
Bei CDs sowie bei nur einmal beschreibbaren DVDs (also DVD+R, DVD-R) entfällt der Formatiervorgang.
Das Kommando wodim (ehemals cdrecord) schreibt eine ISO-Datei auf einen CD- oder DVD-Rohling:
Auf schnellen Rechnern können Sie genisoimage und wodim mit einer Pipe verbinden. Dadurch sparen Sie den Platz für das ISO-Image:
Bei DVDs (aber nicht bei CDs) können Sie anstelle von wodim auch das Kommando growisofs aus dem Paket dvd+rw-tools einsetzen. Es bietet eine Menge zusätzlicher, DVD-spezifischer Optionen.
growisofs greift intern auf genisoimage zurück. Deswegen sind die meisten Optionen mit diesem Kommando identisch. Das folgende Kommando speichert den Inhalt des Verzeichnisses daten auf einer DVD. Die genisoimage-Optionen -r und -J bewirken, dass die DVD lange Dateinamen entsprechend den Rockridge- und Joliet-Erweiterungen aufweist. Statt des Device-Namens /dev/srn müssen Sie je nach Distribution /dev/scdn angeben.
Eine zweite Session fügen Sie so hinzu (Option -M statt -Z):
Normalerweise übergibt growisofs alle Optionen außer -Z bzw. -M an genisoimage und schreibt das Ergebnis von genisoimage dann direkt auf die DVD. Wenn Sie ein bereits existierendes ISO-Image schreiben möchten, lautet die Syntax -Z device=isodatei:
CDs/DVDs verifizieren
Das folgende Kommando vergleicht den Inhalt der CD/DVD mit dem Inhalt des master-Verzeichnisses Datei für Datei und Byte für Byte. Sämtliche Unterschiede werden in die Datei diff.log im Heimatverzeichnis geschrieben. Statt /media/dvd müssen Sie das Verzeichnis angeben, an dem die CD/DVD in Ihren Verzeichnisbaum eingebunden ist.
Wenn Sie eine DVD erhalten und nicht wissen, um welchen DVD-Typ es sich handelt, ob die DVD schon beschrieben ist und wenn ja, in welchem Modus und mit wie vielen Sessions, ermitteln Sie diese Informationen mit dvd+rw-mediainfo: