Створення образу UDF в Linux


15

Соромно уявити, що в Linux немає інтелектуальних інструментів для створення образів UDF, подібних makeisofs, але я ще не маю їх знайти. Інструмент genisoimageсправді працює для створення зображень на відеодисках, але для загальних даних немає еквівалента. Чи справді набір інструментів Linux настільки дефіцитний, коли мова йде про інструменти для оптичних дисків?

Я вже бачив це, і прийнятої відповіді просто недостатньо.

Відповіді:


9

linux-udf

Здається, проект, який ви шукаєте, проект linux-udf . Проект згадується у файлі udf.txt Linux Kernel .

Переглядаючи їх сайт sourceforge, завантаження викликається udftools. Шукаючи в моєму сховищі Fedora 19 я знайшов саме такий пакет.

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

Зміст 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

Переглядаючи перераховані вище інструменти.

cdrwtool

Команда cdwrtool може виконувати певні дії на пристрої CD-R, CD-RW або DVD-R. В основному це блокування носія, форматування його для використання з пристроєм пакетного компакт-диска та застосування файлової системи UDF.

mkudffs

mkudffs використовується для створення файлової системи UDF на пристрої (зазвичай на диску). Пристрій - це спеціальний файл, відповідний пристрою (наприклад, / dev / hdX). count-count - кількість блоків на пристрої. Якщо пропущено, mkudffs автоматично фіксує розмір файлової системи.

pktsetup

Pktsetup використовується для асоціації пакетних пристроїв із блоковими пристроями CD або DVD, щоб пакетний пристрій потім міг бути змонтований та потенційно використаний як файлова система читання / запису. Для цього потрібна підтримка ядра для пакетного пристрою та файлової системи UDF.

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

Форматування UDF DVD

У цьому підручнику показано, як можна форматувати DVD за допомогою UDF під назвою: Як відформатувати DVD з UDF .

Приклад

$ 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 

Визначте тип носія

$ sudo dvd+rw-mediainfo /dev/dvd

Створення ІСО

Я думаю, ти занадто швидко звільняєшся genisoimage. Якщо ви переглянете сторінку чоловіка, то там є цей перемикач:

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

Приклад

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

Тепер якщо ми перевіримо отриманий .isoфайл.

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

Щоб підтвердити, що image.isoфайлова система UDF справді є всередині, ми можемо встановити її лише для подвійної перевірки.

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

Тепер, якщо подивіться, як це було встановлено за допомогою mountкоманди.

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

Список літератури


3
Спасибі. Все ще неймовірно примітивно, порівняно з тим, що я очікував для 10-річного формату, але ваша відповідь здається досить канонічною, тому мені доведеться зараз з цим розібратися.
Векторний Горгот
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.