Membuat gambar UDF di Linux

15

Sangat memalukan untuk membayangkan bahwa tidak ada alat yang cerdas di Linux untuk membuat gambar UDF, mirip dengan makeisofs, tapi saya belum menemukannya. Alat genisoimageini berfungsi untuk membuat gambar disk video, tetapi tidak ada padanan untuk data umum. Apakah toolset Linux benar-benar sangat kurang dalam hal piranti disk optik?

Saya sudah melihat ini dan jawaban yang diterima tidak cukup.

Vektor Gorgoth
sumber

Jawaban:

9

linux-udf

Tampaknya proyek yang Anda cari, proyek linux-udf . Proyek ini disebutkan dalam file udf.txt Linux Kernel .

Melihat melalui situs sourceforge mereka unduhan disebut udftools. Mencari dalam repositori paket Fedora 19 saya, saya menemukan paket yang tepat.

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

Isi dari 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

Melihat melalui alat-alat yang tercantum di atas.

cdrwtool

Perintah cdwrtool dapat melakukan tindakan tertentu pada perangkat CD-R, CD-RW, atau DVD-R. Terutama ini mengosongkan media, memformatnya untuk digunakan dengan perangkat paket-cd, dan menerapkan sistem file UDF.

mkudff

mkudff digunakan untuk membuat sistem file UDF pada perangkat (biasanya disk). perangkat adalah file khusus yang sesuai dengan perangkat (mis. / dev / hdX). block-count adalah jumlah blok pada perangkat. Jika dihilangkan, mkudff secara otomatis menentukan ukuran sistem file.

pktsetup

Pktsetup digunakan untuk mengaitkan perangkat paket dengan perangkat blok CD atau DVD, sehingga perangkat paket kemudian dapat dipasang dan berpotensi digunakan sebagai sistem file baca / tulis. Ini membutuhkan dukungan kernel untuk perangkat paket, dan sistem file UDF.

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

Memformat DVD UDF

Tutorial ini menunjukkan bagaimana Anda dapat memformat DVD menggunakan UDF, berjudul: Cara memformat DVD dengan UDF .

Contoh

$ 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 

Tentukan jenis media

$ sudo dvd+rw-mediainfo /dev/dvd

Membuat ISO

Saya pikir Anda terlalu cepat menolak genisoimage. Jika Anda melihat halaman manual untuk itu ada saklar ini:

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

Contoh

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

Sekarang jika kita periksa .isofile yang dihasilkan .

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

Untuk mengkonfirmasi bahwa image.isoini benar-benar sistem file UDF di dalam kita dapat memasangnya hanya untuk memeriksa ulang.

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

Sekarang jika melihat bagaimana itu dipasang melalui mountperintah.

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

Referensi

slm
sumber
3
Terima kasih. Masih sangat primitif dibandingkan dengan apa yang saya harapkan untuk format 10 tahun, tapi jawaban Anda tampaknya kanonik jadi saya harus menghadapinya untuk saat ini.
Vector Gorgoth