Kommandozeilenprogramme als Grundlage
Die Kommandozeilentools ["mkisofs"] und ["cdrecord"] sind die Grundlage der meisten Brennprogramme (auch der grafischen Versionen) und nach einer gewissen Eingewöhnphase auch ohne GUI recht einfach zu benutzen.
["cdrdao"], ebenfalls ein Kommandozeilenprogramm, ist besonders zum Erstellen von Audio-CDs und anderen CDs, bei denen der DAO-Brennmodus angebracht ist, geeignet. Es wird ebenso wie cdrecord von vielen grafischen Oberflächen verwendet.
Tipps & Tricks
IsoImage erstellen (wenn man selbst eine Daten-CD zusammenstellen will und noch kein fertiges IsoImage hat):
mkisofs -J -R -o meinedaten.iso ~/zusammenstellung
IsoImage von CD erstellen wenn man eine Daten-CD im Laufwerk (/dev/cdrom oder anderes) hat und ein IsoImage auf der Festplatte erstellen will. Das Kommando erhält auch den Bootsektor, d.h. die von diesem IsoImage gebrannten CDs sind ggf. auch bootfähig.
dd if=/dev/cdrom of=/pfad/mein.iso
CD-Brenner auffinden:
cdrecord -scanbus
Damit wird der SCSI-Bus (oder bei EIDE: der emulierte SCSI-Bus
) abgesucht nach CD-Brennern und eine Liste der gefundenen Geräte angezeigt, wo man sich dann was passendes raussuchen kann. Muss man i.d.R. nur einmalig machen.
Hinweis: Die meisten Oberflächen erledigen das automatisch.
Im Folgenden wird davon ausgegangen, dass der Brenner als Device 0,5,0 und mit der Geschwindigkeit 8 angesprochen werden kann:
CDRW löschen:
cdrecord dev=0,5,0 speed=8 blank=fast
ISO-Image brennen:
cdrecord dev=0,5,0 speed=8 meinedaten.iso
Direktes brennen eines Datenverzeichnis (On the fly):
mkisofs -r -J ~/zusammenstellung | cdrecord -v dev=0,5,0 fs=6m speed=8 -
Bei diesem Befehl wird ein Datenverzeichnis (hier ~/zusammenstellung) über Pipe direkt zum brennen an cdrecord geschickt, ohne vorher ein IsoImage zu erstellen. Die Option fs=6m (Puffer) verhindert eine Brennunterbrechung und somit die Zerstörung des Rohlings. Am Ende des Befehls muß ein "-" stehen!
CD kopieren (funktioniert auch mit (s)vcds):
cdrdao --device 0,5,0
Wichtig:
- cdrecord braucht ausreichend Rechte für den Zugriff auf die Brennerhardware:
- als root brennen oder
cdrecord SetUid-root machen
chmod u+s /usr/bin/cdrecord
- optional kann man nur einer speziellen Gruppe Ausführungsrechte erteilen
chmod o-x /usr/bin/cdrecord chgrp cdbrennen /usr/bin/cdrecord
- optional kann man nur einer speziellen Gruppe Ausführungsrechte erteilen
- oder man kann nur dem Konsolenbenutzer die Ausführung mit root-Rechten erlauben (über ["PAM"])
was man absolut NICHT machen sollte:
- Usern direkte Schreibrechte auf ein Device geben. Sie könnten dann weit mehr als CDs brennen.
Man kann sich das ganze auch durch ein Skript attachment:makecd (sowie darauf verweisenden SymLink makecdrw und readcd) etwas einfacher machen.
Multisession
Schon beim ersten Brennen Parameter -multi verwenden, z.B. cdrecord -multi dev=0,0,0 speed=8 backup.iso Der Trick ist, dass du beim Erstellen des zweiten IsoImages auf die erste Session verweisen musst.
Das machst Du z.B. so:
TRACKPOS=`cdrecord -msinfo dev=0,0,0` mkisofs -J -R -f -o ../image.iso -C $TRACKPOS -M 0,0,0 . cdrecord -v speed=8 dev=0,0,0 -eject -multi ../image.iso
Siehe hierzu im Detail ["mkisofs"].
cdrecord -msinfo gibt zwei Werte aus, die in den mkisofs-Aufruf übergeben werden. Bei letzterem muss die CD bereits eingelegt sein. Bei der letzten Session das -multi weglassen, dann wird die CD abgeschlossen. -- BennySiegert DateTime(2002-10-23T17:55:57)
Hier eine /BeispielAusgabe von cdrecord. - [Ich teste hier mal, ob es sinnvoll ist, sowas hier noch reinzubringen. Kommentare?] --FlorianKonnertz,11-02