Tạo hình ảnh UDF trong Linux


15

Thật xấu hổ khi tưởng tượng rằng không có công cụ thông minh nào trên Linux để tạo hình ảnh UDF, tương tự như vậy makeisofs, nhưng tôi vẫn chưa tìm thấy. Công cụ genisoimagenày không hoạt động để tạo hình ảnh đĩa video, nhưng không có dữ liệu chung. Là bộ công cụ Linux thực sự rất thiếu khi nói đến các công cụ đĩa quang?

Tôi đã thấy điều này và câu trả lời được chấp nhận đơn giản là không đủ.

Câu trả lời:


9

linux-udf

Có vẻ là dự án bạn đang tìm kiếm, dự án linux-udf . Dự án được đề cập trong tệp udf.txt của Linux Kernel .

Nhìn qua trang web sourceforge của họ, tải xuống được gọi udftools. Tìm kiếm trong kho lưu trữ gói Fedora 19 của tôi, tôi thấy gói chính xác đó.

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

Nội dung của 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

Nhìn qua các công cụ được liệt kê ở trên.

cdrwtool

Lệnh cdwrtool có thể thực hiện một số hành động nhất định trên thiết bị CD-R, CD-RW hoặc DVD-R. Chủ yếu những thứ này đang làm trống phương tiện truyền thông, hình thành nó để sử dụng với thiết bị gói-cd và áp dụng hệ thống tập tin UDF.

mkudff

mkudffs được sử dụng để tạo hệ thống tập tin UDF trên thiết bị (thường là đĩa). thiết bị là tập tin đặc biệt tương ứng với thiết bị (ví dụ / dev / hdX). khối-đếm là số khối trên thiết bị. Nếu được bỏ qua, mkudffs tự động tính kích thước hệ thống tệp.

pktsetup

Pktsetup được sử dụng để liên kết các thiết bị gói với các thiết bị khối CD hoặc DVD, do đó thiết bị gói sau đó có thể được gắn và có khả năng được sử dụng như một hệ thống tệp đọc / ghi. Điều này đòi hỏi hỗ trợ kernel cho thiết bị gói và hệ thống tập tin UDF.

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

Định dạng DVD UDF

Hướng dẫn này cho thấy cách bạn có thể định dạng DVD bằng UDF, có tiêu đề: Cách định dạng DVD bằng UDF .

Thí dụ

$ 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 

Xác định loại phương tiện truyền thông

$ sudo dvd+rw-mediainfo /dev/dvd

Làm ISO

Tôi nghĩ rằng bạn đang quá nhanh chóng bỏ qua genisoimage. Nếu bạn xem qua trang man cho nó thì có công tắc này:

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

Thí dụ

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

Bây giờ nếu chúng ta kiểm tra các .isotập tin kết quả .

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

Để xác nhận rằng đó image.isothực sự là một hệ thống tập tin UDF trong chúng ta có thể gắn kết nó chỉ để kiểm tra lại.

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

Bây giờ nếu xem làm thế nào nó được gắn kết thông qua mountlệnh.

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

Người giới thiệu


3
Cảm ơn. Vẫn còn vô cùng thô sơ so với những gì tôi mong đợi ở định dạng 10 năm tuổi, nhưng câu trả lời của bạn có vẻ khá kinh điển nên tôi sẽ phải giải quyết ngay bây giờ.
Vector Gorgoth
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.