RPMを作成しています。このRPMはCentOSISOに同梱されており、CentOsのインストール時にインストールされます。これは、通常のrpmインストール方法を使用してインストールすることもできます。ただし、ISOからインストールする場合と、rpmの通常のインストール方法でインストールする場合は、rpmインストールの動作が異なる必要があります。したがって、問題は、システムが現在ISOをインストールしているかどうかをどのように知るかです。
前もって感謝します。
/dev/cdrom がマウントされているかどうか、および /mnt/cdrom に %pre /%post スクリプトのインストール ディスクが含まれているかどうかを確認できます。
厳密に言えば、RPM はインストール方法に依存しない必要があるため、RPM でこれが必要な場合は、おそらく設計に欠陥があり、実行しようとしていることが別の方法で実行できる可能性があります。
anaconda/kickstart スクリプトを参照することをお勧めします。
確かに設計ミス。
あなたがやろうとしているのは、RPM インストールでのユーザー操作であってはなりません。
ライブ OS からインストールする場合は、カーネル コマンド ラインで /dev/live または liveimg の存在を確認できます。つまり [[ $(grep -c liveimg /proc/cmdline) != 0 ]] || [ -b readlink -f /dev/live
]