mkisofs
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 |