Создание образа UDF в Linux

15

Стыдно представить, что в Linux нет интеллектуальных инструментов для создания UDF-образов, похожих на подобные makeisofs, но я еще не нашел ни одного. Инструмент genisoimageдействительно работает для создания образов видеодиска, но нет эквивалента для общих данных. Действительно ли набор инструментов Linux настолько несовершенен, когда речь идет об инструментах для оптических дисков?

Я уже видел это, и принятого ответа просто недостаточно.

Вектор Горгот
источник

Ответы:

9

линукс-UDF

Кажется, проект, который вы ищете, проект linux-udf . Проект упоминается в файле udf.txt ядра Linux .

Просматривая их сайт 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 -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. В основном это бланкирование носителя, форматирование его для использования с устройством packet-cd и применение файловой системы UDF.

mkudffs

mkudffs используется для создания файловой системы UDF на устройстве (обычно на диске). устройство - это специальный файл, соответствующий устройству (например, / dev / hdX). число блоков - это количество блоков на устройстве. Если опущено, 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

Создание ISO

Я думаю, что ты слишком быстро увольняешься genisoimage. Если вы просмотрите man-страницу, там есть этот переключатель:

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

Ссылки

SLM
источник
3
Благодарю. Все еще невероятно примитивно по сравнению с тем, что я ожидаю от 10-летнего формата, но ваш ответ кажется довольно каноническим, поэтому мне придется с этим разобраться.
Вектор Горгот