centos7 安装VMware Tools 遇到的一系列问题的解决方案

时间:2023-01-18 17:14:41

先部署源: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,后面需要可以另行安装。

gui:http://www.cnblogs.com/jiu0821/p/8079728.html