Linux 如何知道系统当前正在安装ISO

Linux 如何知道系统当前正在安装ISO,linux,rpmbuild,Linux,Rpmbuild,我正在创建一个RPM。此RPM将与CentOS ISO一起打包,并将在安装CentOS时安装。也可以使用普通rpm安装方法进行安装。但是,如果rpm安装是从ISO安装的,并且是通过rpm正常安装方法安装的,则rpm安装需要有不同的行为。所以,问题是我如何知道系统当前是否正在安装ISO 提前感谢。您可以检查/dev/cdrom是否已安装,以及/mnt/cdrom是否包含%pre/%post脚本中的安装光盘 严格地说,RPM应该不知道它们是如何安装的,所以如果您在RPM中需要它,那么它可能是一个有缺

我正在创建一个RPM。此RPM将与CentOS ISO一起打包,并将在安装CentOS时安装。也可以使用普通rpm安装方法进行安装。但是,如果rpm安装是从ISO安装的,并且是通过rpm正常安装方法安装的,则rpm安装需要有不同的行为。所以,问题是我如何知道系统当前是否正在安装ISO


提前感谢。

您可以检查/dev/cdrom是否已安装,以及/mnt/cdrom是否包含%pre/%post脚本中的安装光盘

严格地说,RPM应该不知道它们是如何安装的,所以如果您在RPM中需要它,那么它可能是一个有缺陷的设计,您试图做的事情可以通过其他方式来完成


我建议看一下anaconda/kickstart脚本。

肯定是有缺陷的设计


我敢打赌,您一定在尝试进行RPM安装,但不应该与任何用户交互。

如果您是从实时操作系统进行安装,您可以在内核命令行中检查/dev/live或liveimg的存在, 即 [[$(grep-c liveimg/proc/cmdline)!=0]|[-b
readlink-f/dev/live
]

你说“需要有不同的行为”,但我们看到的只是一个错误。你能解释一下为什么你认为你需要这个来改变你的行为吗?