Yum
自動刪除 %preun 損壞的 RPM?
%preun
我們在過去分發的 RPM的腳本中有錯誤。這已得到糾正,但現在升級到較新版本失敗,因為以前的版本沒有完全解除安裝:Error in PREUN scriptlet in rpm package perl-perfSONAR-OPPD-MP-server /var/tmp/rpm-tmp.veW9Jb: line 5: syntax error: unexpected end of file error: %preun(perl-perfSONAR-OPPD-MP-server-3.4-1.pSPS.noarch) scriptlet failed, exit status 2
這可以通過手動解除安裝過時的包而不執行該
%preun
部分然後重新安裝新包來解決:rpm -e --nopreun perl-perfSONAR-OPPD-MP-server-3.4-1.pSPS.noarch rpm -i --replacepkgs perl-perfSONAR-OPPD-MP-server-3.5-0.0.a1.pSPS.noarch.rpm
這是一個手動過程,需要係統管理員的干預,我們希望避免。
是否有人知道通過 yum 執行相同操作的方法,以便刪除以前的軟體包以便新的軟體包在沒有錯誤的情況下安裝,所有這些都使用單個 yum 命令或通過 yum 自動升級?
如果這很重要,我們正在使用 CentOS 6。
沒有已知的方法可以使用有缺陷的腳本自動升級 yum:yum 不會解析也不會將必要的禁用程序傳遞給 rpm lib。