Start   Impressum   Lizenz         online lesen   Download         Online-Shop   Jumping Blue Turtle

Debian für Unternehmer - Debian-Know-how

4101: CD-ROMs brennen

Um das Brennen von CD-ROMs zu demonstrieren, wähle ich ein lebendiges Beispiel: Ich zeige Ihnen, wie Sie sich selbst eine CD mit dem Inhalt von "Debian für Unternehmer" brennen können.

1. Erster Schritt: Installieren Sie sich die nötige Software

Sie benötigen zum Brennen einer CD-ROM:

  • eine Software für das Erstellen eines CD-Images
  • ein Brennprogramm
1.1. "mkisofs" installieren

Mit "mkisofs" sind Sie in der Lage, ein CD-Image zu erzeugen, das Sie Testweise mounten, untersuchen (ob alles in Ordnung ist) und anschließend auf eine CD-ROM brennen können.

Gehen Sie wie folgt vor, um "mkisofs" zu installieren:

apt-get install mkisofs
1.2. "cdrdao" installieren

Für lange Zeit hatte man in der Linux-Welt mit "cdrecord" CD-ROMs gebrannt. Auch ich kannte Ende der 1990er Jahre bis ca 2003 nur diesen einen Weg, um CD-ROMs auf Linux zu brennen. Wie töricht das war, hatte zumindest ich erst im Jahr 2004 gemerkt, denn zu damaliger Zeit kannte "cdrecord" nur den sogenannten TAO-Mode, der von Linux-Kerneln bis 2.2 bugfrei wieder eingelesen werden konnte, seit den Kerneln 2.4 aber nicht mehr. Der DAO-Mode war zu damaliger Zeit in "cdrecord" gar nicht implementiert, so dass ein Brennen im DAO-Mode von Vornherein gar nicht möglich war. Diese Geschichte war für mich der größte Schock, den ich im Zusammenhang mit Linux erlebt hatte, und ich hatte lange gebraucht, um ihn zu verdauen. Mein Weltbild wankte und ich begann zu zweifeln, ob Linux überhaupt die richtige Plattform ist, um damit zu arbeiten. Worum es genau ging, steht hier und hier (weitere Hinweise im Quellcode dieser HTML-Datei).

Erschwerend kam hinzu, dass ich die Daten auf den alten Rechnern wegen zu kleiner Festplatten schon längst gelöscht hatte, sie sich also nur noch auf CD befanden. Der neue Rechner hatte zwar eine Festplatte, die groß genug war, aber auf dem lief kein Linux mehr mit Kernel kleiner als "2.4" (da hatte ich wohl zu viele technische Entwicklungsstufen übersprungen). Das Konzept, mit MD5-Dateien Backups abzusichern, war mir damals unbekannt. Ich konnte nur (einigermaßen) sicher sein, die Daten richtig auf Festplatte zu bekommen, wenn ich es schaffen würde, ein CD-Image fehlerfrei von mehreren damals identisch gebrannten CDs auf Festplatte zu kopieren, und diese anschließend auf Byte-Ebene zu vergleichen. Das war aber ab Kernel 2.4 nicht mehr möglich. Es blieb also nur die Möglichkeit, jede Datei einzeln herunterzulesen, was angesichts des mittlerweile fortgeschritten Alters der Medien heikel war, denn bei einigen Dateien drehte sich das Medium nur langsam, damit sie überhaupt gelesen werden konnten, bzw. sie konnten gar nicht mehr gelesen werden. Weil ich glücklicherweise von jedem Backup genau 4 Exemplare hatte, führte das Einlesen dann doch nach langen Runden irgendwie zum Erfolg. Da mir bis heute bei diesen Daten keine defekten Stellen aufgefallen sind, hoffe ich, dass damals beim Einlesen alles gut ging (von Wissen kann keine Rede sein). Das Vergleichen der vielen Millionen Dateien von verschiedenen Instanzen wäre möglich gewesen, war mir aber (mit meinem damals dürftigen Linux-Know-how) zu aufwändig.

Mit der Zeit kamen weitere Probleme hinzu, die "cdrecord" unattraktiv hatten werden lassen. Ich weiß nicht mehr genau, was das war, ob es Lizenzprobleme waren oder schlicht und einfach eine wichtige technische Eigenschaft fehlte. Auf jeden Fall kann ich heute folgende Aussage machen:

CD-ROMs brennen auf einem modernen Linux-System funktioniert heute mit "cdrdao".

Installieren Sie also "cdrdao", um damit arbeiten zu können:

apt-get install cdrdao

Sie haben jetzt alles, was Sie benötigen.

2. Zweiter Schritt: Stellen Sie sich die Quellen zusammen

Holen Sie sich das neueste "Debian für Unternehmer" aus dem Netz und packen Sie es aus:

cd /store/tmp/test/dfu_selbst_gebrannt
wget http://www.debian-fuer-unternehmer.de/download/debian_fuer_unternehmer.tar.bz2
bzip2 -dv debian_fuer_unternehmer.tar.bz2
tar -xvf debian_fuer_unternehmer.tar
rm debian_fuer_unternehmer.tar

3. Dritter Schritt: Generieren Sie ein CD-Image

Sie haben nun ein Verzeichnis mit dem Namen "1debian" vor sich. Mit dem Inhalt dieses Verzeichnisses können Sie sich nun wie folgt ein CD-Image erzeugen:

mkisofs -v -l -R -J -o debian_fuer_unternehmer.iso 1debian

Mit ein paar Optionen können Sie die Eigenschaften des resultierenden CD-Images beeinflussen oder einfach nur die Arbeit des Tools:

  • -v: Das ist der "Verbose"-Modus. Mit dieser Option schreibt "mkisofs" in die Kommandozeile, was es gerade macht.
  • -l: Hiermit generiert "mkisofs" Dateien mit bis zu 31 Zeichen im Dateinamen. Damit kann das Medium unter MS-DOS nicht mehr richtig gelesen werden. Wenn Sie die Option weglassen, dann werden Dateinamen im Format "8.3" generiert, was heute aber nicht mehr zeitgemäß ist.
  • -R: Damit generiert "mkisofs" für Linux lesbare Verzeichniseinträge im "Rock Ridge"-Format.
  • -J: Damit generiert "mkisofs" zusätzliche für Windows lesbare Verzeichniseinträge im "Joliet"-Format, mit bis zu 64 Zeichen pro Dateinamen. Wenn Ihr Medium mit beiden Welten kompatibel sein soll, dann sollten Sie das "Rock Ridge"-Format und das "Joliet"-Format miteinander kombinieren.
  • -D: Diese Option verhindert die Generierung des Verzeichnisses "RR-MOVED", wenn der zu brennende Verzeichnisbaum zu tief geschachtelt wurde. Allerdings kann die Option Inkompatibilitäten hervorrufen. Wenn nicht unbedingt benötigt, sollten Sie die Option weglassen.
  • -o: Mit dieser Option sagen Sie "mkisofs", wie das zu generierende Image heißen soll.

Weitere Optionen und Informationen zu den Optionen können Sie in der "man"-Page studieren:

man mkisofs

Wenn Sie "less" auf Ihrem System installiert haben, dann können Sie innerhalb der angezeigten "man"-Page navigieren. Bei extrem langen "man"-Pages, wie etwa bei der "man"-Page zu "mkisofs", ist es ganz praktisch zu wissen, dass es eine Suchfunktion gibt: Drücken Sie <Shift> + <7>. Durch die so erfolgte Eingabe des Zeichens "/" aktivieren Sie einen Minidialog ganz unten auf der "man"-Page. Dort geben Sie ein, wonach Sie suchen möchten. Wenn Sie anschließend <Return> drücken, dann werden alle Vorkommen Ihres Suchbegriffes auf der gesamten "man"-Page invertiert dargestellt. Mit diesem Wissen ausgestattet, sollten es für Sie künftig kein Problem sein, gezielt in "man"-Pages nach Informationen zu suchen.

4. Vierter Schritt: CD-Image vor dem Brennen überprüfen

Mounten Sie nun das soeben erzeugte ISO-Image und sehen Sie nach, ob alles in Ordnung ist. Danach führen Sie einen "umount" aus:

mkdir mnt
mount -t iso9660 debian_fuer_unternehmer.iso mnt -o loop
umount mnt
rm -R mnt

5. Fünfter Schritt: Brennen Sie nun eine CD

Zunächst benötigen Sie ein sogenanntes toc-file. Mit folgendem Befehl erzeugen Sie eine leere Datei mit dem Namen "quelle.toc":

>quelle.toc

Öffnen Sie die Datei mit einem Editor Ihrer Wahl und füllen Sie sie mit folgendem Inhalt:

CD_ROM

TRACK MODE1
DATAFILE "debian_fuer_unternehmer.iso" 0

Prüfen Sie nun den nachfolgend gezeigten Befehl. Wenn Ihr CD-Brenner Ihr zweites IDE-Gerät ist, dann ist "/dev/hdb" die richtige Wahl für Sie. Ist Ihr CD-Brenner aber Ihr drittes IDE-Gerät und die ersten beiden IDE-Geräte sind Festplatten, dann sollten Sie die Option "/dev/hdb" umändern in "/dev/hdc", damit Sie nicht die Daten Ihrer zweiten Festplatte unbrauchbar machen. Möglicherweise müssen Sie einen anderen Treiber wählen, wenn Sie (was ich für wenig wahrscheinlich halte) mit generic-mmc kein Glück haben.

Bei der Geschwindigkeit (die Zahl hinter der Option "--speed") sind Sie mit 16 auf der sicheren Seite. Mehr als 16 empfehle ich nicht, auch dann nicht, wenn sowohl Brenner als auch Medium für z.B. 56-fache Brenngeschwindigkeiten ausgelegt sind. Der Grund ist schlicht: Zu schnell gebrannte CD-ROMs sind nicht auf allen Rechnern lesbar. Das wird immer dann peinlich, wenn Sie zwar selbst die CD auf Lesbarkeit testen, dann aber zu Freunden gehen und feststellen, dass dort nichts zu machen ist, Sie also faktisch keine Arbeitsergebnisse vorweisen können.

Sie sollten den Wert für "--speed" noch weiter nach unten korrigieren, wenn Sie ganz alte Medien benutzen (die z.B. für Tests noch gut sind).

Starten Sie jetzt den Brennvorgang. Hier ist der dazu nötige (und hoffentlich von Ihnen angepasste) Befehl:

cdrdao write --device /dev/hdb --driver generic-mmc:0x00000010 --speed 16 -v 2 quelle.toc

Nachtrag:
Ein paar Jahre und Rechner später brenne ich mittlerweile mit externem USB-Brenner CD-ROMs wie folgt:

cdrdao write --device /dev/scd1 --speed 16 -v 2 quelle.toc

6. Sechster Schritt: Testen Sie die CD

Das geht ganz einfach: Mounten Sie die CD-ROM und sehen Sie nach, ob Sie alles lesen und gegebenenfalls kopieren können:

mkdir cdrom
mount /dev/cdrom cdrom

Wenn alles in Ordnung ist, dann führen Sie einen "umount" aus:

umount cdrom
rm -R cdrom