centos7 安装VMware Tools 遇到的一系列问题的解决方案
先部署源:http://www.cnblogs.com/jiu0821/p/8074463.html
VMware Tools安装方法参考:http://www.cnblogs.com/jiu0821/p/7559949.html
1./usr/bin/perl: bad interpreter: No such file or directory
执行:yum -y install perl perl-devel
2.找不到内核头文件
执行:uname -r查看内核版本
执行:yum list | grep kernel-headers查看内核头文件是否和内核版本匹配
如果一致,直接yum install kernel-headers;如果不一样,下载对应内核版本的头文件包再安装:http://pkgs.org/download/kernel-headers,下载后执行rpm安装命令。
我当时是因为系统软件包没有更新的缘故,yum -y upgrade,问题得以解决。
3.note: expected ‘unsigned int’ but argument is of type ‘int (*)(void *)’ wait_on_bit(void *word, int bit, unsigned mode)
版本匹配问题。
通过查看后发现因为centos 7的Linux内核用的3.10版本,在函数 wait_on_bit_io()中有三个参数,而vmtool的代码在内核3.19后才用3个参数的wait_on_bit_io()函数,代码如下
1639 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0) 1640 return wait_on_bit_io(&req->wb_flags, 1641 PG_BUSY, 1642 TASK_UNINTERRUPTIBLE); 1643 #elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) 1644 return wait_on_bit(&req->wb_flags, 1645 PG_BUSY, 1646 #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 17, 0) 1647 HgfsWbRequestWaitUninterruptible, 1648 #endif 1649 TASK_UNINTERRUPTIBLE); 1650 #else
cd /tmp/vmware-tools-distrib/lib/modules/source
tar xf vmhgfs.tar
vi vmhgfs-only/page.c
修改page文件的1639行
1639 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 19, 0)
改为
1639 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
解压后修改完成打包指令
tar cf vmhgfs.tar vmhgfs-only
然后执行vmware-install.pl 问题解决
4.Do you want to enable Guest Authentication (vgauth)? Enabling vgauth is needed
if you want to enable Common Agent (caf). [yes] no
因为最小化安装的缘故,没有桌面程序支持,这里填no,后面需要可以另行安装。