虚拟机suse更新安装VMware Tools,卸载open-vm-tools报错的解决方法。

【问题】

   执行./vmware-install.pl安装VMware Tools时,会先删除已经安装的VMware Tools的文件。

  执行中报错,提示请手动删除open-vm-tools。

  错误信息如下:

 error: %preun(open-vm-tools-2008.04.14-21.1.i586) scriptlet failed, exit status 1

【解决方案】

查询vmware-install.pl,发现是通过rpm -e 来删除已经安装文件的。如下是截取的vmware-install.pl中有关rpm -e 卸载的脚本片段。

1989 # Attempts to remove the given list of RPM packages
1990 # @param - List of rpm packages to remove
1991 # @returns - -1 if there was an internal error, otherwise
1992 #            the return value of RPM
1993 #
1994 sub removeRPMPackages {
1995    my @pkgList = @_;
1996    my $bin = internal_which('rpm');
1997    my @cmd = (("$bin", '-e'), @pkgList);
1998 
1999    if (-x $bin) {
2000       return system(@cmd);
2001    } else {
2002       return -1;
2003    }
2004 }
执行卸载命令: rpm -e open-vm-tools,手动删除open-vm-tools。

同样报错: error: %preun(open-vm-tools-2008.04.14-21.1.i586) scriptlet failed, exit status 1

经网络查询,通过给rpm -e卸载命令加一个选项参数--noscripts,结果卸载命令变为rpm -e --noscripts open-vm-tools 。

这样就没有这个问题了重新执行./vmware-install.pl脚本来安装VMware Tools就可以了。

ps:--noscripts 相当于 --nopre --nopost --nopreun --nopostun。在卸载open-vm-tools时报错是跟preun相关的scriptlet失败,将这项scriptlet屏蔽掉就ok了。


你可能感兴趣的:(虚拟机suse更新安装VMware Tools,卸载open-vm-tools报错的解决方法。)