CDs Brennen mit Linux

ArticleCategory: [Es gibt verschiedene Artikel Kategorien]

Applications

AuthorImage:[Ein Bild von Dir]

[Photo of the Authors]

TranslationInfo:[Autor und Übersetzer]

original in en Katja and Guido Socher 

en to de Katja Socher 

AboutTheAuthor:[Eine kleine Biographie über den Autor]

Katja ist die deutsche Redakteurin von LinuxFocus. Sie mag Tux, Film & Fotografie und das Meer. Ihre Homepage findet sich hier.

Guido ist ein langj�hriger Linuxfan und er mag Linux, weil es von ehrlichen und offenen Leuten entwickelt wurde. Dies ist einer der Gr�nde, warum wir es Open Source nennen. Seine Homepage ist auf linuxfocus.org/~guido.

Abstract:[Hier sollte eine kleine Zusammenfassung stehen]

In diesem Artikel beschreiben wir, wie man unter Linux CDs brennen kann.

ArticleIllustration:[Das Titelbild des Artikels]

[Illustration]

ArticleBody:[Der eigentliche Artikel. Überschriften innerhalb des Artikels sollten h2 oder h3 sein.]

Vielleicht hast du Katja's Artikel Eine ganz neue Welt in unserer letzten Ausgabe gelesen und hast die Tour mit Tux gemacht. Und jetzt hast du viele Bilder und viel Musik, die du mit nach Hause nehmen m�chtest und fragst dich, wie du das machen kannst. Das Brennen einer CD ist eine gute L�sung und in diesem Artikel erz�hlen wir dir, wie du das machen kannst.

Was du daf�r brauchst

Hardware setup:
Nat�rlich mu� Linux auf deinem Rechner laufen und du brauchst einen CD Brenner f�r den Job.
Wenn du einen SCSI CD Brenner besitzt, stehen die Chancen sehr gut, da� der Brenner sofort vom Kernel erkannt wird. Du mu�t nur �berpr�fen, ob dein SCSI hostadapter von Linux unterst�tzt wird (siehe die Hardware-Datenbank hierf�r). Alle SCSI CD Brenner arbeiten unter Linux.
Bei einem ATAPI/IDE Brenner mu�t du deinen Brenner durch Konfiguration einer SCSI Emulation wie ein SCSI Ger�t aussehen lassen, auch wenn die Hardware physisch �ber den IDE Bus verbunden ist. Wie dies geht, ist z.B. in der README.atapi Datei von xcdroast beschrieben und wir empfehlen dir, das CD Writing HOWTO unter http://www.linuxdoc.org/ zu lesen.
F�r USB Brenner siehe das USB-CD Writer HOWTO unter mobilix.org/linux_usb_cd.html.
Da wir beide nur Erfahrung mit SCSI Brennern haben, k�nnten wir nur das wiederholen, was wir dort gelesen haben.

Software zum Brennen von CDs:
Zum Brennen von CDs braucht man die folgenden Programme:

  1. cdrecord: dies ist das Program, das tats�chlich mit dem CD Brenner kommuniziert.
  2. mkisofs: du brauchst es zum Erstellen von DatenCDs. Es wird benutzt, um ein Dateisystemimage f�r die CD, ISOimage genannt, zu erstellen.
  3. cdda2wav: dies wird gebraucht, um digitale Audiodaten von AudioCDs zu lesen.
Alle drei sind im cdrtools Packet enthalten, das man von www.xcdroast.org
oder ftp.fokus.gmd/pub/unix/cdrecord/ herunterladen kann.
Mit diesem Werkzeugen kann man schon unter Benutzung der Kommandozeile CDs brennen. Aber wenn du eine nettere und freundlichere graphische Benutzeroberfl�che haben m�chtest, brauchst du zus�tzlich noch ein Frontend. Es gibt sehr viele Frontends, aber in diesem Artikel reden wir nur �ber xcdroast (http://www.xcdroast.org) und koncd (http://www.koncd.org/). xcdroast scheint das Frontend mit den meisten M�glichkeiten zu sein und wir m�gen koncd, weil es wirklich sehr einfach zu benutzen ist.


Installation

In vielen F�llen wird xcdroast schon auf deinem Rechner installiert sein, aber zumindest mit RedHat ist es mit der pam-library kompiliert worden, was bedeutet, das man immer nach dem root-Pa�wort gefragt wird, wenn man eine CD brennen will und wahrscheinlich m�chtest du nicht allen Benutzern, die CDs brennen wollen, das root-Pa�wort geben. Ein weiterer Nachteil ist, da� ein Start des Programms �ber ein Netzwerk nicht m�glich ist. Deshalb ist es besser, die neueste Version von http://www.xcdroast.org herunterzuladen. Dies sollte einfach sein, da es vorkompilierte Pakete f�r die meisten gew�hnlichen Distributionen gibt.
koncd kann von www.koncd.org heruntergeladen werden. Neue Versionen von koncd sind von neuen QT/KDE Features abh�ngig. Wenn du keine Zeit auf das Updaten deiner QT und KDE libraries verwenden willst, kannst du eine �ltere Version von koncd benutzen. F�r diesen Artikel haben wir koncd-0.7.5 unter redhat 7.1.benutzt.

Brennen von CDs als normaler (nicht-root) Benutzer

Zum brennen von CDs braucht man zuallererst Schreibrechte f�r die /dev/sg* Ger�te, die f�r die Kommunikation mit der Hardware gebraucht werden. Aber cdrecord benutzt auch einige realtime extensions zum Vermeiden von buffer underruns w�hrend des Schreibprozesses, die ebenfalls root-Rechte erfordern. Die beste L�sung ist deshalb, SUID auf cdrecord und cdda2wav zu benutzen. Uhh? SUID? Keine Angst! Du kannst Guido's Artikel �ber Dateirechte lesen, wenn du Lust hast, aber im Moment reicht es, wenn du die folgenden zwei Befehle eingibst und dann nicht weiter dar�ner nachdenkst:-)

chmod 4111 /usr/bin/cdrecord
chmod 4111 /usr/bin/cdda2wav

Sei dir dar�ber im klaren, da� dies ein potentielles Sicherheitsrisiko sein k�nnte, aber es ist definitiv ein geringeres Sicherheitsrisiko als allen, die eine CD brennen wollen, das root-Pa�wort zu geben.
Jetzt kannst du testen, ob dein CD-Brenner richtig erkannt worden ist. La� einfach:

cdrecord -scanbus

laufen. Wenn alles richtig ist, solltest du etwas �hnliches wie das folgende sehen:

0,6,0 6) 'PLEXTOR ' 'CD-ROM PX-W8220T ' '1.03' Removable CD-ROM

Die Zahlen und die Beschreibung k�nnen verschieden sein, abh�ngig von deiner Hardware.
Alternativ kannst du auch auf den Einstellungen (SETUP) Knopf von xcdroast oder koncd klicken und dort �berpr�fen, ob dein Brenner richtig erkannt wurde.
So, la�t uns jetzt endlich anfangen, CDs zu brennen.

Allgemeines zum Brennen von CDs

Es gibt vier notwendige Schritte zum Brennen von CDs:
  1. Du mu�t die Daten/Musikst�cke ausw�hlen, die du auf CD brennen willst
  2. Du mu�t einige Einstellungen f�r die zu brennende CD vornehmen, z.B. mu�t du, wenn du eine Audio CD brennen willst, zwischen TAO und DAO Modus w�hlen oder f�r eine DatenCD mu� man einige Optionen f�r das Dateisystem ausw�hlen.
  3. Du mu�t ein Image directory erstellen mit den Dateien, die du auf CD brennen willst. Wenn du nur einfach eine andere CD duplizieren willst, wirst du "on the fly" brennen, aber sonst mu� zuerst ein Image auf der Festplatte erstellt werden.
    Ein image directory ist ein tempor�rer Speicherplatz f�r Daten, die auf die CD geschrieben werden. F�r Audio CDs sind dies Indexdateien und die wav Dateien, die die Musik enthalten und f�r DatenCDs ist dies eine gro�e Datei, die ISO image genannt wird.
  4. Du mu�t die CD tats�chlich brennen.
CDs m�ssen im allgemeinen in einem Durchgang geschrieben werden und der Datenflu� darf w�hrend des Brennvorgangs nicht gest�rt werden. Dank der realtime extensions sind buffer underruns, die zu fehlerhaften CDs f�hren nur ein Problem von Windows Benutzers. Mit Linux braucht man "burn proof" nicht wirklich. Es gibt einen speziellen Speicher namens FIFO innerhalb des CD-Brenners, der kleine St�rungen kompensiert, was normalerweise unter Linux ausreicht, um Brennfehler zu vermeiden. Trotzdem solltest du vorsichtig sein und keine Dinge tun, die zuviel CPU Power verbrauchen. Du kannst im Internet surfen, Software kompilieren, ... aber das L�schen einer sehr gro�en Datei kann ein Problem sein und vielleicht ausreichen, um den Prozess zu st�ren, was dann eine fehlerhafte CD ergibt. Wenn du dir �ber m�gliche buffer underruns Gedanken machst, kannst du die Option simulation write (dummy write) benutzen, um zuerst zu testen, ob das CD Brennen gehen w�rde, bevor du wirklich brennst. Bei der Simulation wird der Brennvorgang mit echten Daten getestet, aber der Laser innerhalb des CD Brenners ist abgeschaltet. Es ist immer besser, erst einen Test durchzuf�hren, als alles noch einmal machen zu m�ssen.
Die Tatsache, da� du alles auf einmal brennen mu�t, bedeutet, da�, wenn du etwas vergessen hast, auch wenn es nur eine einzige kleine Datei ist, du alles noch einmal neu brennen mu�t. Es gibt die M�glichkeit der Multisession, wo man sp�ter noch etwas hinzuf�gen kann, aber wir werden hier nicht dar�ber sprechen, da die CD dann bis sie wirklich fertig ist, auf vielen CD-Spielern nicht abgespielt werden kann und der Preis einer CD so niedrig ist, so da� wir nie einen Grund sahen, es zu benutzen.

Einstellungen (Setup)

Wenn du koncd oder xcdroast startest, wirst du feststellen, da� beide einen Einstellungen (Setup) Knopf haben. Hier kannst du herausfinden, ob dein Brenner korrekt erkannt wurde und generelle Optionen einstellen.
[xcdroast: run as root to configure] La�t uns das Setup von xcdroast und koncd betrachten:

(Reine) Musik- (Audio) CDs

Hier sollte man sich zuerst ein wenig Gedanken �ber das Format machen. Wenn das Musikst�ck von einer anderen CD ist, gibt es kein Problem. Du kannst einfach weitermachen und sie kopieren. Aber ansonsten solltest du beachten, da� cdrecord au und wav Dateien erkennt und automatisch in das richtige Format umwandelt, um es auf deinem CD-Spieler abspielen zu k�nnen, aber andere Formate mu�t du erst noch in das wav Format umwandeln, wenn du sp�ter nicht nur Rauschen auf deiner CD h�ren willst. Um eine Datei von mp3 nach wav zu konvertieren, kannst du folgendes auf der Kommandozeile eingeben:
mpg123 -w /tmp/song.wav song.mp3
Dies erlaubt dir, normale Audio CDs von mp3 St�cken zu machen. Es nimmt mehr Platz in Anspruch, kann daf�r aber auf fast jedem CD-Spieler abgespielt werden.
Wenn du schlie�lich die CD brennst, kannst du w�hlen, ob die Kopie im TAO oder DAO Modus sein soll. Im TAO Modus hat man zwei Sekunden Pause zwischen den einzelnen Songs, w�hrend dies im DAO Modus nicht der Fall ist, was diesen Modus zum Modus deiner Wahl f�r Live-Musikaufnahmen macht. TAO= Track at Once und DAO= Disk at Once.
Du kannst eine CD komplett kopieren oder Musikst�cke von verschiedenen CDs oder andere Sounddateien, die du z.B. aus dem Internet heruntergeladen hast, mischen.

La�t uns zuerst sehen, wie man eine CD ohne �nderungen kopieren kann:

[xcdroast Duplicate CD]


La�t uns nun anschauen, was du tun mu�t, wenn du Musikst�cke von verschiedenen Orten auf CD brennen willst:

(Reine) Data CDs

F�r DatenCDs braucht man ein Dateisystem oder wie h�ufig gesagt wird, die CD mu� formattiert werden. Du mu�t entscheiden, welches Dateisystem du haben willst. Diese Entscheidung wird davon abh�ngen, auf welchem/welchen Betriebssystem(en) du die Daten lesen k�nnen willst. Der ISO Standard, der das CD-Dateisystem beschreibt, erlaubt z.B. keine langen Dateinamen. Deshalb gibt es Erweiterungen zu diesem Standard. F�r Linux und Unix werden RockRidge extensions benutzt, Microsoft benutzt Joliet Erweiterungen. Mit dem RockRidge Format kann man z.B. Rechte etc., wie du sie bereits von deinem System her kennst, auf der CD haben.
Die empfohlene L�sung ist, RockRidge und Joliet Erweiterungen f�r dieselbe CD zu benutzen.
Wenn du nur eine CD von einer anderen schon existierenden CD kopieren willst, mu�t dir dar�ber keine Gedanken machen, weil die CD dann schon ein Dateisystem hat und dieses mitkopiert wird:

[xcdroast Master CD]

Wenn du Daten von deiner Festplatte kopieren willst:
[koncd Master CD]

Backup deines home-Verzeichnisses

Grunds�tzlich kannst du von allem mit der unter "reine data CDs" beschriebenen Methode ein Backup erstellen.. Wenn die Daten in deinem Home-Verzeichnis zu gro� sind, um auf eine CD zu passen, dann mu�t du einzelne Unterverzeichnisse ausw�hlen und sie auf eine andere CD brennen..

Tipps und Tricks:

Manchmal ist es n�tzlich, zu �berpr�fen, ob das ISO image richtig ist, bevor es auf CD gebrannt wird. Um dies zu tun, kannst du das ISO image so mounten, als wenn es eine echte CD w�re:

Wechle ins root-Verzeichnis root: su -
Erzeuge ein leeres Verzeichnis (bekannt als Mountpunkt): mkdir /tmp/mycd
Mounte das ISO image (verbinde das ISO image mit dem Verzeichnis):
mount -o loop -t iso9660 Image.iso /tmp/mycd
Jetzt kannst du den Befehl ls benutzen, um das CD image zu inspizieren: ls /tmp/mycd
Wenn es in Ordnung aussieht, dann unmounte es: umount /tmp/mycd

... und brenne das Image auf deine CD.

Kommandozeilenwerkzeuge

Oben haben wir zwei grafische Frontends zum Brennen von CDs diskutiert, aber du k�nntest auch auf der Kommandozeile CDs brennen. Wenn du dir die man page von cdrecord anschaust, siehst du, da� es hunderte von Optionen gibt, uuuhh... sei nicht erschreckt. Es ist viel leichter als es auf den ersten Blick aussieht. Lade die beiden Perlskripte cdrecordeasy und mkisofseasy herunter.
Sie sind in dem Paket easycdscripts (download Seite) enthalten
Packe sie mit dem folgenden Befehl aus:

tar zxvf easycdscripts-0.1.tar.gz

Jetzt f�hre den Befehl cdrecord -scanbus aus. Schaue auf die Zeile, wo du deinen CD-Brenner siehst und merke dir die Zahlen, die du am Anfang siehst. Es sollte soetwas wie 0,4,0 or 0,6,0 .... sein
Editiere die Datei cdrecordeasy durch Eingeben dieser Zahl hinter der Zeile, die $dev=... enth�lt. Du findest sie irgendwo am Anfang.
Jetzt ist die Installation unserer beiden kleinen Skripte fertig. Eine DatenCD zu erzeugen, ist jetzt sehr leicht:
  1. Kopiere alle Dateien, die du auf deiner CD haben willst, in ein Verzeichnis (z.B. ~/cdrom). Festplatten sind heutzutage sehr gro� und billig und es sollte deshalb kein Problem sein, ein paar hundert MB zu kopieren.
  2. La� den Befehl: mkisofseasy ~/image.iso ~/cdrom laufen.
    Dies erzeugt ein ISO Image von allen Dateien im Verzeichnis ~/cdrom.
  3. Brenn die CD mit dem Befehl: cdrecordeasy ~/image.iso
Das ist alles. Viel einfacher, als es am Anfang aussah, nicht wahr!? :-)

Viel Spa� beim Brennen deiner CDs!

Referenzen

CD Writing Howto: linuxdoc.org
Linux MP3 CD Burning mini-HOWTO: linuxdoc.org( How to make normal auido CDs from mp3 files )
USB CD howto: mobilix.org/linux_usb_cd.html
A big bootable CD image: http://rescuecd.sourceforge.net/
Various boot CDs and linux on one floppy systems