archlinux下将vmware8.0.1升级到8.0.2

今天打开VMware的时候发现出问题了,什么都没有,用终端执行下看了看发现报"/sbin/modinfo"不存在,当时没有细想,报着侥幸心理去查阅了下,自然没什么收获,这个问题我在下面的内容中会告诉大家,这里跟着我的思路往下看吧。

我先到VMware官方查询了下当前最新的VMware-Workstation已经8.0.2了,我这里安装的是8.0.1,所以准备更新一下。

首先看了下vmware-patch已经Out of Date了,所以准备卸载掉,当卸载的时候出了一个错误提示,提示内容大体就是"/usr/lib/vmware/module/source/vmmon.tar-8.0.1-版本号"不存在。

我进目录看了一下,有个类似的文件,但是后缀并不是版本号而是根据内核配置vmware的日期,所以看了一下vmware-unpatch的源码,手工修改了一下,之后顺利卸载了这个补丁,最后在yaourt -R vmware-patch拜拜了这个补丁。

之后到archlinux的wiki上一查,终于找到了我需要的内容,当然是英文。

继续我上面的操作,卸载VMware的话首先使用vmware-installer -l查看"Product Name",然后卸载vmware-installer -u Product Name,卸载是图形化的没啥需要说明的。

下载好最新的VMware之后安装,安装界面除了支持了gtk没什么变化,安装完毕,mv /etc/init.d/* /etc/rc.d/,然后打补丁,如果kernels是3.2的内核的话点击下载,我想使用archlinux没有不是的把…

补丁打好了之后会启动服务,但是我发现了服务很多都是failed,同样打不开vmware,这个时候我才注意起"/sbin/modinfo"这个错误,我使用ln -s /usr/bin/modinfo /sbin/modinfo之后可以打开vmware了,但是无法启动虚拟机,根据查找同样报了个缺少“lsmod”文件的错误,当我再次查看archlinux的wiki的时候终于找到了解决方法:

sed -i "s|/sbin/|/usr/bin/|g" /etc/rc.d/vmware
sed -i "s|/sbin/|/usr/bin/|g" /usr/bin/vmware

根据wiki上说明的内容我将其简单的翻译一下,原文:

Note: As of kmod 5-2 the locations of lsmod, modinfo, etc. have changed from /bin/ to /usr/bin/.

译文:
注意:kmod 5-2的一些例如lsmod,modinfo之类的命令已经从/bin/(应该是/sbin/吧,具体不清楚)移至/usr/bin/目录下。
上面的两个命令也简单的说明一下把,将"/etc/rc.d/vmware"和"/usr/bin/vmware"两个shell脚本中的"/sbin/"替换成"/usr/bin/"。

差不多就像上面这样,其他没什么需要补充的,有问题可以留言给我。

没有评论: