在Linux中创建UDF映像


15

很难想象在Linux上没有类似于UDF图像的智能工具来创建UDF图像makeisofs,但是我还没有找到任何工具。该工具genisoimage确实可以创建视频磁盘映像,但是没有通用数据的等效项。在光盘工具方面,Linux工具集真的如此缺乏吗?

我已经看到,仅接受的答案是不够的。

Answers:


9

linux-udf

似乎是您要寻找的项目,linux-udf项目。Linux内核的udf.txt文件中提到了该项目。

通过他们的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设备上执行某些操作。这些主要是使媒体空白,将其格式化以与Packet-CD设备一起使用以及应用UDF文件系统。

mkudffs

mkudffs用于在设备(通常是磁盘)上创建UDF文件系统。设备是与设备相对应的特殊文件(例如/ dev / hdX)。blocks-count是设备上的块数。如果省略,mkudffs会自动计算出文件系统的大小。

pktsetup

Pktsetup用于将数据包设备与CD或DVD块设备相关联,以便随后可以安装数据包设备并将其用作读取/写入文件系统。这需要内核对数据包设备和UDF文件系统的支持。

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

格式化UDF DVD

本教程显示了如何使用UDF格式化DVD,标题为:如何使用UDF 格式化DVD

$ 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。如果您浏览手册页,则有以下开关:

-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年的格式相比,它仍然原始得难以置信,但是您的回答似乎相当规范,所以我现在必须处理它。
矢量Gorgoth
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.