我们在过去分发的RPM的%preun脚本中有错误.这已得到纠正,但是,现在,升级到较新版本失败,因为以前的版本没有干净地卸载:
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,如果这很重要的话.