使用 udfutils 在 Linux 上创建数据 BD-R 映像

使用 udfutils 在 Linux 上创建数据 BD-R 映像

我正在尝试编写脚本来刻录大量蓝光媒体数据。我想在一台服务器上生成映像文件,稍后在另一个工作站上刻录到 BD-R DL (50GB) 媒体上。我的一些文件每个都在 5-6GB 范围内,这就是为什么我想使用 UDF 来避免拆分它们。

我知道 genisoimage 在某种程度上可以与实验性的 udf 支持配合使用,我可能不得不使用该方法,但我想更好地了解 udf 工具,但我找不到很多文档来解释这种情况。我一直在研究 mkudffs(我使用的是 debian buster 的 v2.1),但我遇到了一些问题...

我制作的 UDF 图像如下:

$ mkudffs --media-type=bdr --label "test" disk1.udf 24414062
filename=disk1.udf
label=test
uuid=5ec05b12f5d75d8c
blocksize=2048
blocks=24414062
udfrev=2.50
vatblock=319
start=0, blocks=16, type=RESERVED 
start=16, blocks=4, type=VRS 
start=20, blocks=76, type=USPACE 
start=96, blocks=16, type=MVDS 
start=112, blocks=16, type=USPACE 
start=128, blocks=1, type=LVID 
start=129, blocks=95, type=USPACE 
start=224, blocks=16, type=RVDS 
start=240, blocks=16, type=USPACE 
start=256, blocks=1, type=ANCHOR 
start=257, blocks=31, type=USPACE 
start=288, blocks=24413760, type=PSPACE 
start=24414048, blocks=14, type=USPACE 

然后我尝试通过循环安装来使用该图像:

$ mount -o loop,rw disk1.udf /mnt/usb

$ mount |grep usb
disk1.udf on /mnt/usb type udf (ro,relatime,utf8)

但我无法写入它...

我认为它以只读方式安装,因为手册页表明蓝光使用 UDF 修订版 2.50,而 Linux 内核仅支持最高 2.01 版的 UDF 修订版的读写支持。

我的问题是:

  1. 那么如何使用 mkudffs 工具制作蓝光 UDF 图像?
  2. 我是否缺少一种在创建过程中输入数据的方法?
  3. 或者 mkudffs 可以在创建后转换图像吗?
  4. 如果 mkudffs 仅创建一个空白文件系统,并且需要可读写才能在其中放置数据,为什么它会有“--close”和“--read-only”参数?
  5. 有没有办法将数据包写入图像文件?

谢谢!

答案1

好的,我通过将这个问题发布到 GitHub 上的 pali/udftools repo 得到了答案。

以下是 Pali 的回复这里。我添加了一个以星号(*)为前缀的评论。


我认为它以只读方式安装,因为手册页表明蓝光使用 UDF 修订版 2.50,而 Linux 内核仅支持最高 2.01 版的 UDF 修订版的读写支持。

确切地。

那么如何使用 mkudffs 工具制作蓝光 UDF 图像?

目前您使用的方式。问题是没有 Linux 工具可以将新文件复制到 UDF 2.50 或 UDF 2.60 映像中。

我是否缺少一种在创建过程中输入数据的方法?

mkudffs 不支持在格式化期间放入文件。mke2fs(适用于 ext2/3/4)也以同样的方式工作,它不支持在格式化期间放入新文件。

或者 mkudffs 可以在创建后转换图像吗?

不,它不能。

如果 mkudffs 仅创建一个空白文件系统,并且需要可读写才能在其中放置数据,为什么它会有“--close”和“--read-only”参数?

为格式化 UDF 文件系统提供完整支持

有没有办法将数据包写入图像文件?

抱歉,但我不明白这个问题。数据包写入是一种将数据/数据包写入光学介质的技术/操作,例如“写入”系统调用的实现。

*这个问题很令人困惑,但答案很简单,是否定的。数据包写入仅适用于实际驱动器。

基本上我不知道有任何非商业的 Linux 工具可以创建包含文件的非空 BD-R UDF 映像 (2.50+)。有付费的 Nero for Linux 支持它。

我的计划是扩展 mkudffs,使其允许在格式化期间“放入”文件/目录,但我还没有时间实现它。因此,它将成为第一个用于预格式化 UDF 2.50+ 光盘的免费 Linux 工具。但我不认为近期我会有时间使用它。当然,欢迎提供此类实现的补丁!

相关内容