我一直在 RHEL 6.2 上使用 Kickstart,这涉及重新掌握安装 ISO。不过,我注意到了一些奇怪的事情。如果我发出以下命令一次(diskFiles
我保存 DVD 文件的目录在哪里)...
mkisofs -o file.iso -b isolinux/isolinux.img -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T diskFiles/
...除非我使用 DVD 文件的新副本,否则我无法再次创建工作 ISO。错误的范围从 isolinux 无法启动到 Anaconda 找不到 RHEL 安装映像。所以,这是我的问题:
isolinux
创建 ISO 时,目录中的文件是否diskFiles
被修改?- 如果是这样,每当我尝试创建另一个 ISO 时应该替换哪些文件?我知道重新复制整张 DVD 是可行的,但似乎没有必要。
- 如果没有,我在这个过程中是否可能遗漏了一些可以解释这一点的东西?
从本质上讲,我的问题是:它是如何mkisofs
发挥魔力的,它在这个过程中对引导映像做了什么?
1) 如果diskFiles目录中的文件被修改,那么这将通过简单的工具显示出来,例如ls。如果您有很多文件和/或子目录,那么查找是您的朋友。
2) 从 DVD 的备份 Rsync 会快很多。我不推荐这样做,因为它是一种解决方法。找到导致问题的原因几乎总是更好。但是我认识到有时需要一种变通方法才能立即完成工作。我的经验是这些变通办法永远存在,因此最好尽可能避免使用它们。
(跳过第 3 项,因为我对此没有答案)。
为了补充我接受的答案,我有一个简单的方法来解决这个问题——生成一个 MD5 校验和!(呃。)
如果您在调用之前和之后运行该命令
mkisofs
,您会看到该文件确实发生了变化,原因如下(感谢@Hennes):为了克服这个问题,我使用以下命令:
该
rsync
命令很像cp
,只是它更智能、更灵活。使用此命令将“清理”源文件系统中的引导映像文件,以便mkisofs
可以在不损坏 isolinux 文件的情况下再次修补 56 字节表。我或许可以对整个 DVD 内容执行此操作,但我懒得再从光盘上复制所有内容,并且
isolinux
是唯一受mkisofs
. :-)