mkisofs

Aus Mikiwiki
Zur Navigation springen Zur Suche springen

Der Shell-Befehl mkisofs ist Teil der cdrtools und erzeugt ein ISO 9660-Dateisystem (bzw. eine ISO-Datei).

Optionen

Option Erklärung
-a alle Dateien in das Image mit aufnehmen, auch solche mit "~" oder "#" als Suffix (ohne Rockrigde-Extensions, d.h. unter DOS, werden solche Dateien mit der Extension .000 usw. gespeichert)
-R Rockridge-Extension, d.h. Unix-konforme Dateinamen verwenden (lange Dateinamen, Sonderzeichen)
-r Für das Rockridge-Format werden alle Dateien auf User-ID 0 gemapped, alle Dateien read-only, alle Directories ausführbar gesetzt
CDs mit Rockridge
-f Symbolische Links werden "aufgelöst" und als echte Datei geschrieben, ist diese Option nicht gesetzt, werden Links verwendet.
CDs ohne Rockridge
-L Dateien, die mit einem Punkt (.) anfangen, sind zugelassen (ansonsten wird der Punkt durch "_" ersetzt).
-l 32 Zeichen lange Dateinamen werden verwendet (statt der DOS-kompatiblen 8.3-Notation).
-f Symbolische Links werden "aufgelöst" und als eigene Datei geschrieben, ist diese Option nicht gesetzt, werden diese Dateien weggelassen.
weitere Schalter
-J Dieser Schalter erzeugt zusätzlich zum Rockridge-System ein Joliet-Dateisystem, das hauptsächlich von Windows 95/NT benutzt wird. Hierbei werden die Einträge im Unicode notiert.
-D "Do not use deep directory relocation" (siehe man-page). Der ISO-Standard lässt normalerweise nur Verzeichnisse mit der Verschachtelungstiefe 8 zu, mit diesem Schalter werden auch mehr als 8 verschachtelte Verzeichnisse geschrieben (entspricht nicht dem ISO-Standard). Die Rockridge-Extension ist davon nicht betroffen.
-T TRANS.TBL-Datei wird erzeugt; wird für MS-DOS-Systeme verwendet, die keine langen Dateinamen lesen können (sollte für DOS-CDs ohne "-L" und "-l" verwendet werden, alles andere ist wenig sinnvoll)
-b bootimg Legt den Namen und Pfad für ein Boot-Image fest, mit dem eine Boot-CD erzeugt werden kann. Das Boot-Image muss entweder 1.2, 1.44 oder 2.88MB gross sein (wie das einer normalen Boot-Diskette). bootimg muss relativ zum Quellpfad von mkisofs gesetzt werden und heisst gewöhnlich "boot/boot.img", d. h. im Verzeichnis "boot" des ISO-Images beinhaltet die Datei "boot.img" das Floppyimage.
-c bootcat Legt den Name und Pfad für den Boot-Katalog fest. Diese Datei wird von mkisofs automatisch erstellt und heisst gewöhnlich "boot.catalog".
-v "Test-CD" Volume-ID der CD (entspricht Datenträger-Label unter DOS)
-A "Appl." Application-ID: Beschreibung des CD-Inhalts (max. 128 Zeichen lang)
-P "Urheber" Name des Urhebers (publisher) der CD
-p "Autor" Name des Autors (preparer) der CD
-v verbose-Modus (weitere Details zum Erstellungsprozess)
-o /tmp/image Name und Pfad der zu erzeugenden Image-Datei
/home/cd Name des Verzeichnisses, das sämtliche Daten enthält

Verwendung

Erzeugen der ISO-Datei "cd.iso" aus dem Inhalt von Verzeichnis "cd_dir".

# mkisofs -o cd.iso cd_dir

Erzeugen der ISO-Datei "dvd.iso" aus dem Inhalt von Verzeichnis "dvd_dir". Dabei wird ein DVD-Video-kompatibles UDF-Dateisystem angelegt ("-dvd-video").

# mkisofs -dvd-video -o dvd.iso dvd_dir

Erzeugen der ISO-Datei "dvd.iso" aus dem Inhalt von Verzeichnis "dvd_dir".

# mkisofs -J -v -split-output -o dvd.iso dvd_dir

Erzeugen der ISO-Datei "cd.iso" mit Joliet-Erweiterungen aus dem Inhalt von Verzeichnis "cd_dir".

# mkisofs -J -o cd.iso cd_dir

Erzeugen der ISO-Datei "cd.iso" mit Rock-Ridge-Erweiterungen aus dem Inhalt von Verzeichnis "cd_dir".

# mkisofs -r -o cd.iso cd_dir

Erzeugen der ISO-Datei "cd.iso" mit Rock-Ridge-Erweiterungen aus dem Inhalt von Verzeichnis "cd_dir". Dateieigenschaften und -eigentümer bleiben dabei erhalten.

# mkisofs -R -o cd.iso cd_dir

Erzeugen der ISO-Datei "cd.iso" mit Joliet- und Rock-Ridge-Erweiterungen aus dem Inhalt von Verzeichnis "cd_dir". Dateieigenschaften und -eigentümer bleiben dabei erhalten. Dateien mit den Endungen ".jpg" oder ".png" werden dabei nicht in die ISO-Datei aufgenommen.

# mkisofs -J -R -m '*.jpg' -m '*.png' -o cd.iso cd_dir

Erzeugen der ISO-Datei "cd.iso" mit Joliet- und Rock-Ridge-Erweiterungen aus dem Inhalt von Verzeichnis "/". Dateieigenschaften und -eigentümer bleiben dabei erhalten. Das Verzeichnis "/usr/local" wird dabei nicht in die ISO-Datei aufgenommen.

# mkisofs -J -R -x '/usr/local' -o cd.iso /

Erzeugen einer ISO-Datei mit Joliet- und Rock-Ridge-Erweiterungen aus dem Inhalt von Verzeichnis "cd_dir" und direkt anschliessendes Brennen "on the fly". Zur Vermeidung eines buffer underrun wird ein Puffer von 6 MB hinzugefügt. Mit dem Minuszeichen am Ende des Befehls wird "cdrecord" mitgeteilt, dass es nicht eine Datei, sondern die Standardeingabe lesen soll. So wird kein Plattenplatz für die ansonsten anzulegende ISO-Datei benötigt.

# mkisofs -J -R cd_dir | cdrecord -v fs=6m speed=4 dev=0,0,0 -

Beispiele (XXX = noch nicht getestet)

MS-DOS-CD (.name durch _name ersetzt, Links werden "aufgelöst").

$ mkisofs -f -o /tmp/image /home/cd

Linux-CD (Rockridge, alle Dateinamen auf User 0/0 gemapped).

$ mkisofs -a -R -r -L -D -o /tmp/image /home/cd

XXX Win95-CD (Joliet).

$ mkisofs -a -L -l -J -D -V "Test-CD" -o /tmp/image /home/cd

XXX Linux- und Win95-CD (Rockridge und Joliet).

$ mkisofs -a -R -r -L -l -J -D -V "Test-CD" -o /tmp/image /home/cd

XXX Bootfähige CD (Unix+Win95).

$ mkisofs -a -R -r -L -l -J -D -b boot/boot.img -c boot/boot.catalog -V "Test-CD" -o /tmp/image /home/cd

Getestet werden kann das Image, indem man es unter Linux wie folgt mountet (Datei "image" im /tmp-Verzeichnis wird unter /mnt per Loop-Device als ISO9660-Filesystem gemountet).

$ mount /tmp/image /mnt -t iso9660 -o loop

Dabei muuss der Kernel das Loop-Device unterstützen (näheres siehe man-page zu mount).

Weblinks

Herausgeber Sprache Webseitentitel Anmerkungen
Berlios eng mkisofswbm Manpage von mkisofs-2.0
Ubuntu Users ger mkisofswbm
Linuxwiki ger mkisofswbm
Wikipedia ger cdrtoolswbm Enzyklopädischer Artikel
Wikipedia eng cdrtoolswbm Enzyklopädischer Artikel