Tworzenie obrazu UDF w systemie Linux


15

Żenujące jest wyobrażenie sobie, że w systemie Linux nie ma inteligentnych narzędzi do tworzenia obrazów UDF makeisofs, ale nie znalazłem jeszcze żadnych. Narzędzie genisoimagedziała w celu tworzenia obrazów dysków wideo, ale nie ma odpowiednika dla danych ogólnych. Czy zestaw narzędzi Linuksa jest naprawdę tak niedobry, jeśli chodzi o narzędzia do dysków optycznych?

Już widziałem to i przyjął odpowiedź po prostu nie jest wystarczające.

Odpowiedzi:


9

linux-udf

Wygląda na projekt, którego szukasz, projekt linux-udf . Projekt wspomniany jest w pliku udf.txt jądra Linux .

Przeglądanie ich strony sourceforge nazywa się pobieranie udftools. Przeszukując moje repozytorium pakietów Fedory 19, znalazłem dokładnie ten pakiet.

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

Zawartość 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

Przeglądając narzędzia wymienione powyżej.

cdrwtool

Komenda cdwrtool może wykonywać określone działania na urządzeniu CD-R, CD-RW lub DVD-R. Głównie są to puste nośniki, formowane do użytku z urządzeniem packet-cd i stosowanie systemu plików UDF.

mkudffs

mkudffs służy do tworzenia systemu plików UDF na urządzeniu (zwykle na dysku). urządzenie to specjalny plik odpowiadający urządzeniu (np. / dev / hdX). liczba-bloków to liczba bloków na urządzeniu. Jeśli zostanie pominięty, mkudffs automatycznie oblicza rozmiar systemu plików.

pktsetup

Pktsetup służy do kojarzenia urządzeń pakietowych z urządzeniami blokowymi CD lub DVD, dzięki czemu urządzenie pakietowe może być następnie zamontowane i potencjalnie wykorzystane jako system plików do odczytu / zapisu. Wymaga to obsługi jądra dla urządzenia pakietowego i systemu plików UDF.

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

Formatowanie płyty DVD UDF

W tym samouczku pokazano, jak sformatować dysk DVD za pomocą UDF, zatytułowany: Jak sformatować dysk DVD za pomocą UDF .

Przykład

$ 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 

Określ typ nośnika

$ sudo dvd+rw-mediainfo /dev/dvd

Tworzenie ISO

Myślę, że zbyt szybko zwalniasz genisoimage. Jeśli spojrzysz na stronę podręcznika, znajdziesz ten przełącznik:

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

Przykład

$ 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)

Teraz, jeśli sprawdzimy wynikowy .isoplik.

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

Aby potwierdzić, że image.isojest to naprawdę system plików UDF, możemy go zamontować, aby dokładnie sprawdzić.

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

Teraz zobacz, jak został zamontowany za pomocą mountpolecenia.

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

Bibliografia


3
Dzięki. Wciąż niezwykle prymitywny w porównaniu do tego, czego oczekiwałbym od formatu 10-letniego, ale twoja odpowiedź wydaje się dość kanoniczna, więc na razie muszę sobie z tym poradzić.
Vector Gorgoth,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.