Erstellen eines UDF-Images unter Linux

15

Es ist peinlich sich vorzustellen, dass es unter Linux keine intelligenten Tools zum Erstellen von UDF-Images gibt, ähnlich wie makeisofs, aber ich muss noch welche finden. Das Tool kann genisoimagezwar zum Erstellen von Video-Images verwendet werden, für allgemeine Daten gibt es jedoch keine Entsprechung. Ist das Linux-Toolset wirklich so mangelhaft, wenn es um Tools für optische Datenträger geht?

Ich habe schon gesehen , diese und die akzeptierte Antwort ist einfach nicht ausreichend.

Vector Gorgoth
quelle

Antworten:

9

Linux-Udf

Scheint das Projekt zu sein, das Sie suchen, Linux-UDF- Projekt. Das Projekt wird in der Datei udf.txt des Linux-Kernels erwähnt .

Durch die Sourceforge-Site wird der Download aufgerufen udftools. Beim Durchsuchen des Paket-Repositorys von Fedora 19 habe ich genau dieses Paket gefunden.

$ yum search udf | grep "^udf"
udftools.x86_64 : Linux UDF Filesystem userspace utilities
udftools-debuginfo.x86_64 : Debug information for package udftools

Inhalt der RPM.

$ rpm -ql udftools 
/usr/bin/cdrwtool
/usr/bin/mkudffs
/usr/bin/pktsetup
/usr/bin/udffsck
/usr/bin/wrudf
/usr/share/doc/udftools-1.0.0b3
/usr/share/doc/udftools-1.0.0b3/AUTHORS
/usr/share/doc/udftools-1.0.0b3/COPYING
/usr/share/doc/udftools-1.0.0b3/ChangeLog
/usr/share/man/man1/cdrwtool.1.gz
/usr/share/man/man8/mkudffs.8.gz
/usr/share/man/man8/pktsetup.8.gz

Durchsuchen Sie die oben aufgeführten Tools.

cdrwtool

Der Befehl cdwrtool kann bestimmte Aktionen auf einem CD-R-, CD-RW- oder DVD-R-Gerät ausführen. Hauptsächlich werden die Medien gelöscht, für die Verwendung mit dem Packet-CD-Gerät formatiert und ein UDF-Dateisystem angewendet.

mkudffs

mkudffs wird verwendet, um ein UDF-Dateisystem auf einem Gerät (normalerweise einer Festplatte) zu erstellen. Gerät ist die spezielle Datei, die dem Gerät entspricht (z. B. / dev / hdX). blocks-count ist die Anzahl der Blöcke auf dem Gerät. Wenn nicht angegeben, berechnet mkudffs die Größe des Dateisystems automatisch.

pktsetup

Pktsetup wird verwendet, um Paketgeräte CD- oder DVD-Blockgeräten zuzuordnen, sodass das Paketgerät dann bereitgestellt und möglicherweise als Lese- / Schreibdateisystem verwendet werden kann. Dies erfordert die Unterstützung des Kernels für das Paketgerät und das UDF-Dateisystem.

  See: http://packet-cd.sourceforge.net/ ⟨⟩

Formatieren einer UDF-DVD

Dieses Tutorial zeigt, wie Sie eine DVD mit UDF formatieren können. Der Titel lautet: So formatieren Sie eine DVD mit UDF .

Beispiel

$ sudo mkudffs --media-type=dvd /dev/dvd
trying to change type of multiple extents

$ sudo dvd+rw-format /dev/dvd
* DVD±RW/-RAM format utility by , version 6.1.
* 4.7GB DVD+RW media detected.
* formatting 9.5\

$ sudo mkudffs /dev/dvd
start=0, blocks=16, type=RESERVED 
start=16, blocks=3, type=VRS 
start=19, blocks=237, type=USPACE 
start=256, blocks=1, type=ANCHOR 
start=257, blocks=16, type=PVDS 
start=273, blocks=1, type=LVID 
start=274, blocks=2294573, type=PSPACE 
start=2294847, blocks=1, type=ANCHOR 
start=2294848, blocks=239, type=USPACE 
start=2295087, blocks=16, type=RVDS 
start=2295103, blocks=1, type=ANCHOR 

Bestimmen Sie den Medientyp

$ sudo dvd+rw-mediainfo /dev/dvd

ISO erstellen

Ich denke, Sie werden zu schnell entlassen genisoimage. Wenn Sie in der Manpage danach suchen, gibt es diesen Schalter:

-udf   Include UDF filesystem support in the generated filesystem image.  
       UDF support is currently in alpha status and for this reason, it is 
       not possible to create UDF-only images.  UDF data structures are 
       currently coupled to  the  Joliet  structures,  so  there are many 
       pitfalls with the current implementation. There is no UID/GID 
       support, there is no POSIX permission support, there is no support 
       for symlinks.  Note that UDF wastes the space from sector ~20 to 
       sector 256 at  the beginning of the disc in addition to the space 
       needed for real UDF data structures.

Beispiel

$ genisoimage -udf -o image.iso R/
I: -input-charset not specified, using utf-8 (detected in locale settings)
Using SPLIT000.HTM;1 for  R/x86_64-redhat-linux-gnu-library/2.13/plyr/html/splitter_a.html (splitter_d.html)
Using LIST_000.HTM;1 for  R/x86_64-redhat-linux-gnu-library/2.13/plyr/html/list_to_vector.html (list_to_dataframe.html)
Using INDEX000.HTM;1 for  R/x86_64-redhat-linux-gnu-library/2.13/plyr/html/indexed_array.html (indexed_df.html)
...
...
Using TEST_002.R;1 for  R/x86_64-redhat-linux-gnu-library/2.13/plyr/tests/test-split-labels.r (test-split-data-frame.r)
Total translation table size: 0
Total rockridge attributes bytes: 0
Total directory bytes: 24576
Path table size(bytes): 134
Max brk space used 43000
1141 extents written (2 MB)

Überprüfen wir nun die resultierende .isoDatei.

$ file im.iso 
image.iso: # UDF filesystem data (version 1.5) 'CDROM                           '

Um zu bestätigen, dass image.isoes sich wirklich um ein UDF-Dateisystem handelt, können wir es einfach zur Überprüfung einbinden.

$ sudo mount -o loop image.iso /mnt/
mount: /dev/loop0 is write-protected, mounting read-only

Nun sehen Sie, wie es über den mountBefehl gemountet wurde .

$ mount | grep '/mnt'
/home/saml/image.iso on /mnt type udf (ro,relatime,utf8)

Verweise

slm
quelle
3
Vielen Dank. Immer noch unglaublich primitiv im Vergleich zu dem, was ich für ein 10-jähriges Format erwartet hätte, aber Ihre Antwort scheint ziemlich kanonisch zu sein, deshalb muss ich mich erst einmal damit befassen.
Vector Gorgoth