RPM包如果制作不当,可能在卸载时产生各种问题导致无法正常卸载。
例如:
出现"error: %preun( ) scriptlet failed, exit status 1
表示rpm的%preun段部分的脚本执行有问题,返回码为1,此时rpm卸载动作会中止,如果想要强制卸载,可以用选项参数
rpm -e xxx --nopreun
类似的,%postun %pre %post 等这些段落中的脚本也可能出现问题,相对应的可以用
--nopostun --nopre --nopost 这些选项来忽略错误,让安装或卸载继续执行。
另外, --noscripts 相当于 --nopre --nopost --nopreun --nopostun。即跳过这4个段落里所有的脚本执行。
当出现error: specifies multiple packages错误时,说明因为rpm安装或制作不当,出现了两个不同版本的同名软件,此时卸载无法正常执行,如果需要把这两个都卸载,则用 --allmatches 选项即可。