如何使用基本 Linux 命令复制 DVD 以获取不大于原始大小的 iso?

如何使用基本 Linux 命令复制 DVD 以获取不大于原始大小的 iso?

我正在尝试使用基本的 Linux 命令复制 SUSE 9 DVD。最终目标是在创建新映像之前修改 DVD 内容。它在某种程度上是可行的,只是新的 .iso 比原来的大一点,无法放回到 DVD 上。

腹胀从何而来?我该如何消除它?

这是我所做的;

isoinfo -d -i /dev/sr0    # note blocksize and volumesize
dd if=/dev/sr0 bs=blocksize count=volumesize of=foo.iso 
mkdir foo
mount -t iso9660 -o loop foo.iso foo
cp -av foo bar
mkisofs -b boot/loader/isolinux.bin -c boot.cat -boot-info-table -no-emul-boot -r -J -o bar.iso bar

请注意,我没有更改 bar 中的任何内容,但 bar.iso 比 foo.iso 大,大到无法放回到 DVD 中。'du' 显示 bar 大于 foo,但 'diff' 显示没有差异

du -sk foo bar
4699143 foo
4710654 bar

du -sk foo.iso bar.iso 
3888145 foo.iso
4708322 bar.iso

isoinfo -d -i foo.iso
Volume size is: 1942170

isoinfo -d -i bar.iso
Volume size is: 2351864

答案1

确保使用来自 cdrtools 的 mkisofs,而不是来自 dvdrtools 或 cdrkit 的 mkisofs,后者包含 mkisofs 的旧版本,速度很慢并且会生成很大的 ISO。

http://cdrecord.berlios.de/private/linux-dist.html

相关内容