das etwas andere Dateisystem: ISO-9660 & UDF

Auch wenn sich die wenigsten schon darüber Gedanken gemacht haben, aber auch für CD-ROM und DVD gibt es ein Dateisystem. Für CD ist dies standardisiert durch ISO und trägt den Namen ISO-9660. Natürlich kann jeder nach Belieben ein anderes Dateisystem für seine CD verwenden, aber 9660 ist nun mal der Standard.

Doch auch wenn es offiziell als Dateisystem bezeichnet werden kann, so hat es mit einem Dateisystem wie man es kennt (wie z.B. ext3) auf Grund seiner starken Einschränkung, nicht viel zu tun:

  • so sind Dateinamen auf Grossbuchstaben, Ziffern und _ beschränkt.
  • Typ wird über das Kürzel nach dem Punkt definiert (wie unter Windows)
  • Beschränkung von 31 Zeichen für Dateinamen und 255 für den kompletten Pfad
  • Nicht tiefer als 8 Verschachtelungen für Verzeichnisse
  • Keine symbolischen Verknüpfungen

Ein ganz entscheidender Nachteil ist natürlich jedem Bekannt. Ist eine CD einmal geschrieben, so kann diese nicht mehr verändert werden. Das Dateisystem ist also nur zum Lesen gedacht…

Um seine CD zu brennen, kann man auf diverse grafische Tools wie Brasero o.ä. zurückgreifen. Wer es aber spannender will, der macht das auf der Konsole 😉

Dazu verwende ich das Tool genisoimage (unter Debian). Unter Fedora und Derivaten gibt es noch mkisofs. Die Parameter sind aber bei beiden so ziemlich identisch:

genisoimage -r -o image.iso ordner1 datei1 ordner2 ordner3

Da das ISO für eine CD gedacht ist, verwende ich die Option -r. Damit sind die im ISO enthaltenen Daten automatisch für jeden Benutzer lesbar und im Besitz von root. Alles andere wäre kontraproduktiv wenn ich die Daten später an einer anderen Maschine lesen will.
Sind die Daten immer für den selben Systemaufbau bestimmt (wie z.B. bei einem Backup) so empfiehlt sich die Option -R, wodurch alle Besitzer und Rechte erhalten bleiben.

Heraus kommt dann das Dateisystem für eine CD:

root@master:~# file image.iso 
image.iso: ISO 9660 CD-ROM filesystem data 'CDROM'

Da auch ein ISO nur ein Dateisystem ist, kann dieses auch im System gemounted und betrachtet werden:

mount -o loop,ro -t iso9660 image.iso /mnt/

Um das Tool nun zu brennen, kann man auf das Tool cdrecord zurückgreifen. Unter Debian hat man das Tool zwar mittlerweile gespickt, aber eine funktionsgleiche Alternative ist mir noch nicht bekannt.
Zuerst muss das CD-Laufwerk gefunden werden, damit man auch weiss, wie dieses angesprochen werden muss:

root@master:~# cdrecord -scanbus
scsibus1:
	1,0,0	100) 'SONY    ' 'CDRWDVD CRX880A ' 'KD09' Removable CD-ROM
	1,1,0	101) *
	1,2,0	102) *
	1,3,0	103) *
	1,4,0	104) *
	1,5,0	105) *
	1,6,0	106) *
	1,7,0	107) *

In meinem Beispiel also wäre das CD-Laufwerk unter 1,0,0 zu suchen. Und nun kann auch endlich gebrannt werden:

cdrecord -v dev=1,0,0 speed=4 -data image.iso

Über -v gibt man dabei den Vortschritt [sic] 😉 aus, mit -data wählt man die passende Schreibmethode (hier Daten, also TAO).

Nun aber sind CDs nicht mehr ganz Zeitgemäss und so wurde auch eine Alternative für ISO-9660 entwickelt: UDF (Universal Disk Format), welches natürlich auch normiert wurde (unter ISO 13346). Auch Verbesserungen bringt das neue Dateisystem natürlich einige mit:

  • Dateinamen bis zu einer Länge von 255 Zeichen
  • Keine Beschränkung für die Verzeichnistiefe mehr
  • Beschränkung für Pfadlänge nun bei 1023 Zeichen
  • Gross- und Kleinschreibung in Dateinamen
  • Übernehmen von Dateiattributen von diversen Betriebssystemen

Um auf eine CD / DVD zu brennen, erstellen wir zuerst wieder ein ISO und formatieren dieses:

dd if=/dev/zero of=image.iso bs=1M count=0 seek=700
mkudffs image.iso

Nun können wir unser Dateisystem mounten und beschreiben:

mount -o loop image.iso /mnt
cp datei1 /mnt/

Zum Brennen könnte man wieder cdrecord nehmen, jedoch werden darin DVDs nur in der kommerziellen Version unterstützt, also müssen wir auf growisofs zurückgreifen:

growisofs -dvd-compat -Z /dev/dvd=image.iso

Alles in allem relativ aufwendig und wenn ich ehrlich bin: Wenn ich rasch eine DVD brennen muss, so verwende ich ein grafisches Tool. Oder wie oft kommt es vor, dass man an einem Server ohne GUI DVDs brennen muss… Somit dünkt es mich auch ein bisschen Unsinnig, dass das noch in LPIC vorkommt.
Wahrscheinlich aber noch ein Überbleibsel aus der guten, alten Zeit 😉

8 Kommentare bei „das etwas andere Dateisystem: ISO-9660 & UDF

  1. Ich weiss ja nicht, ob sich daran was geändert hat, allerdings konnte ich vor einem Jahr mit einer UDF DVD, welche ein Freund mit einem DVD Recorder erstellt hat nichts anfangen, Windows XP / Vista hat sie nicht erkannt und hat sich dann auch in den meisten fällen aufgehängt, naja von Windows nichts neues habe ich mir gedacht jedoch bin ich mit UDF auch bei Ubuntu gescheitert.
    Naja die Scheibe ist dann auf jedenfalls auf den Müll gewandert und UDF wurde für mich der Teufel der Dateisysteme.

  2. „Endung wird über das Kürzel nach dem Punkt definiert (wie unter Windows)“

    Logisch, ist unter jedem OS so – deswegen heißt es ja Endung. Du meinst glaube ich eher Typ 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.