我正在尝试使用基本的 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。