我正在尝试从我负责的系统中删除一个软件包。但每次尝试都会失败。它给出的错误是
Error in PREUN scriptlet in rpm package vmware-open-vm-tools-xorg-utilities
我使用查看了脚本rpm --scripts -qa vmware-open-vm-tools-xorg-utilities
。看看我感兴趣的脚本,我看到了这一点:
preuninstall scriptlet (using /bin/sh):
if [ $1 -eq 0 ] && [ -e /usr/lib/vmware-tools/install/vmware-open-vm-tools-xorg-utilities ]; then
# This is an uninstall
/usr/lib/vmware-tools/install/vmware-open-vm-tools-xorg-utilities/installer uninstall
fi
理论上它应该被卸载,并且在其他几台服务器上,它已经卸载了。这是我遇到此问题的唯一服务器。除了上述错误之外,我看不到任何其他可以阻止此错误的内容。正在寻找的目录存在,并且据我所知,没有选项被传递给 scriptlet。
有人知道我应该注意什么才能解决这个问题吗?
答案1
虽然您可能对此一无所知,但在这种情况下,我想说您应该告诉 RPM 跳过该脚本:
# rpm -e --noscripts vmware-open-vm-tools-xorg-utilities
如果这不是依赖关系图中的“叶子”,我会强制卸载该一个包,然后删除依赖于它的其他包,而不跳过脚本:
# rpm -e --nodeps vmware-open-vm-tools-$WHATEVER
看来实际的问题是缺少脚本preun
期望的文件,但我看不出忽略此清理步骤有什么危害。
卸载所有内容后,您可能需要查看/usr/lib/vmware-tools
并决定其中是否还剩下任何内容。如果您要将此虚拟机完全移至另一种虚拟机主机类型,则可能只需对其进行核攻击即可。相反,如果您尝试升级到不同版本的 VMware Tools,则此处可能存在您希望稍后安装的内容。