我正在创建一个 RPM。此 RPM 将与 CentOS ISO 打包在一起,并会在安装 CentOs 时安装。这也可以使用普通的 rpm 安装方法进行安装。但是如果是从 ISO 安装和通过 rpm 正常安装方法安装,则 rpm 安装需要表现不同。所以,问题是我如何知道系统当前是否正在安装 ISO。
提前致谢。
您可以检查 /dev/cdrom 是否已安装,以及 /mnt/cdrom 是否包含 %pre /%post 脚本中的安装光盘。
严格来说,RPM 应该不知道它们是如何安装的,所以如果您在 RPM 中需要它,这可能是一个有缺陷的设计,而您尝试做的事情可以通过其他方式完成。
我建议查看 anaconda / kickstart 脚本。
绝对是有缺陷的设计。
RPM 安装不应该有任何用户交互,这是我敢打赌你正在尝试做的事情。
如果您是从 live 操作系统安装,您可以在内核命令行中检查 /dev/live 或 liveimg 是否存在,即 [[ $(grep -c liveimg /proc/cmdline) != 0 ]] || [-b readlink -f /dev/live
]