Centos
從我的規範文件執行 RPM 安裝時,為什麼 yum install 會停止?
我通常從Minimal Centos 7開始並執行
rpm -i postgres10-libs-10.15-1PGDG.rhel7.x86_64.rpm
這非常有效。
但是,我現在正在編寫一個RPM 規範文件並試圖讓它在安裝後做同樣的事情,比如:
%post rpm -i postgres10-libs-10.15-1PGDG.rhel7.x86_64.rpm
但是,當我這樣做時
yum install my-rpm-1.0.0.el7.x86_64.rpm
它停在 rpm -i 線上。我知道這是因為當我這樣做時
ps -ef
我可以看到
rpm -i postgres10-libs-10.15-1PGDG.rhel7.x86_64.rpm
永遠不會完成。
有誰知道為什麼 rpm -i 在規範文件中不起作用,但在普通的舊終端中起作用?
您的 RPM 數據庫很有可能在此時試圖吞噬自己。數據庫已經打開,但是你試圖在它關閉之前再次打開它。您故意為 RPM 創建競爭條件,但它不知道如何處理它。正確的方法是在規範文件中指定一個包共存條件
Requires:
。