答案1
是的,有一种更快的方法可以在 CD/DVD 中写入 UDF 文件系统。它叫做封包写入,引入UDF 版本 1.50。
简而言之,封包写入这是一种写入 CD/DVD 或其他媒体的方法,其方式类似于从普通文件夹中读取、写入、删除。此方法既支持 CD/DVD 一次性写入媒体,也支持可重写媒体。显然,如果您从 CD-R、DVD+R、DVD-R 等一次性写入媒体中删除某些内容,则无法恢复可用空间。
这封包写入内核级别应支持 UDF 文件系统,自内核 2.6.10 起默认支持。有关 Debian 系统中内核支持的更多信息,看看这个页面。
这本页描述了详细的过程根据格式化并使用 UDF DVD-RW 或 CD-RW 进行数据包写入。不要将步骤 3(创建空会话)与使用 UDF 文件系统创建大文件相混淆。该过程列在此过程之后,并非封包写入。
更新:为了方便观众,我在这里引用了程序部分。
Formatting and using a UDF DVD-RW or CD-RW for packet writing
-------------------------------------------------------------
The commands differ depending on whether you are using DVD or CD
media.
1) Edit /etc/default/udftools and add your drive for packet writing.
For example, if your CD/DVD writer is /dev/hdc and you want it
available as the default /dev/pktcdvd/0, then use the setting
"DEVICES=/dev/hdc". Execute "/etc/init.d/udftools start" afterwards to
register the device.
If the device name /dev/hdc differs on your system, adjust the
following commands as appropriate.
2) Prepare the medium in restricted overwrite mode:
DVD-RW: dvd+rw-format -force /dev/hdc
CD-RW: Do nothing, skip this step!
3) Write an empty session spanning the whole medium. It seems that
without this step, any attempt to create the UDF filesystem will fail.
DVD-RW: growisofs -Z /dev/hdc=/dev/zero
CD-RW: cdrwtool -d /dev/hdc -q
4) Format the packet device in UDF format.
DVD-RW: mkudffs --udfrev=0x0150 --spartable=2 --media-type=dvdrw /dev/pktcdvd/0
CD-RW: mkudffs --udfrev=0x0150 --spartable=2 --media-type=cdrw /dev/pktcdvd/0
The parameters require some more explanation: For --udfrev, use either
0x0150 for UDF version 1.50, or 0x0201 for UDF version 2.01. The
version decision has mostly to do with compatibility:
- Windows 98/ME can read up to v1.02
- Windows 2000, Mac OS 9, Linux 2.4 can read up to v1.50
- Windows 2003/XP can read up to v2.01
- Linux 2.6 can read up to v2.60
For normal data, UDF 1.50 is OK. UDF 2.00 and 2.01 introduce
additional functionality for streaming audio/video.
Possible values for --media-type are: hd dvdram dvdrw worm mo cdrw cdr.
Use the one appropriate for your medium/device.
5) Mount the disc. The "noatime" option is important: It will reduce
the amount of writes to the device and thus increase its lifetime. You
may first have to create the mount directory using "mkdir
/media/dvd0":
mount -t udf -o rw,noatime /dev/pktcdvd/0 /media/dvd0
The "sync" mount option might also be useful, but will typically cause
an increased number of write accesses to the medium. From now on, the
root user can access the filesystem under /media/dvd0 using read and
write operations.
6) If regular users should also have write access, modify the
permissions as follows _while the filesystem is mounted_:
chgrp plugdev /media/dvd0 # Set group ownership to "plugdev"
chmod g+rwx /media/dvd0 # Give full read/write access to group
Now all users who should have access to the disc need to be added to
the "plugdev" group using "adduser <username> plugdev".
To also allow these users to mount and unmount/eject the medium, you
can use either of these two routes:
- Install the "pmount" package and add the device to the list of
allowed devices using "echo /dev/pktcdvd/0 >>/etc/pmount.allow".
All members of the group "plugdev" will then be able to mount the
disc using "pmount /dev/pktcdvd/0 dvd0" and unmount it using
"pumount /media/dvd0".
- Add a line like the following to /etc/fstab:
/dev/pktcdvd/0 /media/dvd0 udf rw,noatime,users,noauto 0 0
This will enable _all_ users to mount the disc using
"mount /media/dvd0" and unmount it with
"umount /media/dvd0". However, with the permissions from step 5)
above, only the members of group "plugdev" ought to be able to
write to it.
答案2
在命令行上没有快速且极其直接的方法来生成 UDF 磁盘;命令在您的链接文章中描述是常用方法。通常,您可以udftools
使用
sudo apt-get install udftools libudf0
然后按照说明进行操作这里。目前没有更简单的方法可以做到这一点。(值得注意的是,该libudf0
库对于处理 UDF 文件系统也是必需的。)
但是,GUI 程序k3b
也支持一些 UDF(如屏幕截图所示),因此对于某些项目来说,这可能是“最简单”的方法。就 UDF 而言,选择并不多,但我认为它可能会k3b
很有用,即使它不是命令行程序。