该virt-sysprep
命令应清除 的内容,/etc/machine-id
因为默认情况下该machine-id
步骤被标记(带有*
)为启用。至少手册页非常清楚。但是,这种情况不会发生,并且在命令运行后,文件的内容仍然存在,并且文件也不会被删除。
命令:
# virt-sysprep --format qcow2 -a <qcow2 image>
答案1
事实上它的行为有所不同。该machine-id
步骤确实默认启用,但它会删除原始内容并生成新内容。它适用于 1 对 1 映像部署。
/etc/machine-id
但是,如果您希望在一对多场景中清除 的内容,则必须运行带有--enable machine-id
显式指定选项的命令:
# virt-sysprep --format qcow2 --enable machine-id -a <qcow2 image>
然后它会忽略其他步骤,只执行该machine-id
步骤,该步骤会变为/etc/machine-id
空,因此它是在第一次引导期间生成的。您可以将其作为原始命令的附加命令运行,并使用所有其他默认值。或者您可以向该行添加其他所需的步骤。
编辑:事实上,罪魁祸首是操作customize
,它生成新的机器ID,尽管该操作machine-id
删除了它。该操作customize
默认也是启用的。
RH 知道这一点,并且 RH 将来可能会修复手册页。
也有可能该命令在 RHEL9 或其他发行版上的行为是这样的,我没有尝试过。