web-dev-qa-db-ja.com

LinuxでのUDFイメージの作成

LinuxにmakeisofsのようなUDFイメージを作成するインテリジェントなツールがないことを想像するのは恥ずかしいことですが、まだ見つけていません。ツールgenisoimageは、ビデオディスクイメージの作成には機能しますが、一般的なデータに相当するものはありません。光ディスクツールに関しては、Linuxツールセットは本当にそれほど不足していますか?

私はすでに this を見てきましたが、受け入れられた答えは単に十分ではありません。

15
Vector Gorgoth

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ファイルシステムを作成するために使用されます。 deviceは、デバイスに対応する特殊ファイルです(例:/ dev/hdX)。 blocks-countは、デバイス上のブロックの数です。省略した場合、mkudffsは自動的にファイルシステムのサイズを計算します。

pktsetup

Pktsetupは、パケットデバイスをCDまたはDVDブロックデバイスに関連付けるために使用されるため、パケットデバイスをマウントして、読み取り/書き込みファイルシステムとして使用できる可能性があります。これには、パケットデバイスのカーネルサポートとUDFファイルシステムが必要です。

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

UDF DVDのフォーマット

このチュートリアルは、UDFを使用してDVDをフォーマットする方法を示しています。タイトルは DFで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をすぐに却下しているようです。 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)

参考文献

9
slm