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.

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


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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.