Rpm

如何根據 %pre scriptlet 的結果使我的 RPM 中止安裝

  • February 15, 2019

我正在創建一個在系統上安裝一些工具的 RPM 包。我想在安裝我的 RPM 包之前檢查一些機器狀態。我最初的直覺是從**%pre** scriptlet 中執行一些命令,如果結果不是我喜歡的,則“退出 1”。但後來我遇到了這個說:

所有 scriptlet 必須以零退出狀態退出。

有沒有其他方法可以讓 RPM 根據 shell 命令的結果中止安裝包?

在 scriptlet 中退出非零值肯定會中止 pacakge 的安裝,但這確實有副作用。您連結到的文件還討論了讓您的 scriptlet 以非零狀態退出的含義。在嘗試實施之前,您應該仔細閱讀並理解這一點。

如果在 scriptlet 中中止安裝不是絕對必要的,則不應這樣做。

例如,如果安裝軟體包不會對系統造成損害,但軟體包中的程序根本無法工作,那麼應該允許安裝繼續進行,並決定在其他地方安裝軟體包。您的配置管理系統是實現此目的的理想場所。

引用自:https://serverfault.com/questions/954030