VMware 是一款著名的虚拟化软件工具,既有面向企业部署的 ESXi 产品,又有面向个人用户的 Workstation,同时满足多种使用虚拟化产品的需求。

VMware Workstation 同时提供了非常实用的 VMware Tools 工具,用于为虚拟机提供一些增强功能,例如屏幕自动缩放、共享剪贴板以及共享文件夹等。Windows 平台和 Mac OS 平台的虚拟机,由于具有可视化界面,安装 VMware Tools 就比较方便,就像安装一个系统应用一样。而对于一些没有 GUI 界面的虚拟要,VMware Tools 其实也可以安装使用的。本文将详细讲解如何为采用最小化安装的 CentOS 7 系统安装 VMware Tools。

1] 系统环境

  • 操作系统:Windows 10
  • VMware环境:WMware Workstation Pro 15.5
  • 虚拟机操作系统:Cent OS 7 最小化安装

2] 安装准备

启动虚拟机,在 VMware Workstation 菜单中选择”虚拟机”,点击”安装 VMware Tools (T)”菜单项:

图.1 选择安装 VMware Tools

之后会在虚拟机窗口下面弹出提示框,提示用户 VMware Tools 工具会以光盘镜像方式装载到当前虚拟机的 CD-ROM驱动器:

图.2 VMware Tools 安装提示

提示信息大概给出了 VMware Tools 的安装步骤,就是通过虚拟机挂载的光盘,将工具软件包复制到本机,解压缩后执行安装脚本即可。为了验证工具光盘已经挂载到虚拟机,可以查看虚拟机设置,可以看到,系统会自动为虚拟机挂载了 VMware Tools 的镜像光盘:

图.3 VMware Tools 镜像挂载到虚拟机

此时,表示虚拟机已经具备安装 VMware Tools 的条件,可以进行安装了。

3] CentOS 7 系统安装 VMware Tools

首先连接到虚拟机,然后查看一下 cdrom 是否成功挂载:

# ls /dev/

图.4 查看虚拟机挂载设备

可以看到,CentOS 7 虚拟机已经成功挂载了光盘驱动器。Linux 系统不能直接访问光盘驱动器的内容,需要将它挂载到文件系统才能访问。使用如下命令挂载光盘:

# mkdir /mnt/cdrom
# mount -t iso9660 /dev/cdrom /mnt/cdrom
# ls /mnt/cdrom

图.5 挂载 VMware Tools 光盘

可以看到,光盘镜像里包含了一个压缩包”VMwareTools-10.3.10-13959562.tar.gz”,这就是 VMware Tools 的安装包,与之前的提示相对应。由于挂载光盘时已经提示是只读的,所以需要将安装包拷贝出来再解压缩:

# cp /mnt/cdrom/VMwareTools-10.3.10-13959562.tar.gz ~
# tar -xvf VMwareTools-10.3.10-13959562.tar.gz

解压成功后,会生成一个”vmware-tools-distrib”目录,查看该目录的文件,就会找到之前提示信息指示的”vmware-install.pl”可执行文件:

图.6 查看 VMware Tools 安装目录内容

现在,如果输入”./vmware-install.pl”尝试安装,出现错误”-bash: ./vmware-install.pl: /usr/bin/per: bad interpreter: No such file or directory”,表示未安装编译环境。需要执行如下命令安装编译环境:

# yum -y install perl gcc make kernel-headers kernel-devel

编译环境安装成功后,就可以执行安装脚本进行 VMware Tools 的安装了:

# ./vmware-install.pl

安装过程中,输入内容如下:

Do you still want to proceed with this installation? [no] --输入 yes

In which directory do you want to install the binary files? 
[/usr/bin] --回车保持默认

What is the directory that contains the init directories (rc0.d/ to rc6.d/)? 
[/etc/rc.d] --回车保持默认

What is the directory that contains the init scripts? 
[/etc/rc.d/init.d] --回车保持默认

In which directory do you want to install the daemon files? 
[/usr/sbin] --回车保持默认

In which directory do you want to install the library files? 
[/usr/lib/vmware-tools] --回车保持默认

The path "/usr/lib/vmware-tools" does not exist currently. This program is 
going to create it, including needed parent directories. Is this what you want?
[yes] --回车或输入 yes 

In which directory do you want to install the common agent library files? 
[/usr/lib] --回车保持默认

In which directory do you want to install the common agent transient files? 
[/var/lib] --回车保持默认

In which directory do you want to install the documentation files? 
[/usr/share/doc/vmware-tools] --回车保持默认

The path "/usr/share/doc/vmware-tools" does not exist currently. This program 
is going to create it, including needed parent directories. Is this what you 
want? [yes] --回车或输入 yes

Before running VMware Tools for the first time, you need to configure it by 
invoking the following command: "/usr/bin/vmware-config-tools.pl". Do you want 
this program to invoke the command for you now? [yes] --回车或输入 yes

The VMware Host-Guest Filesystem allows for shared folders between the host OS 
and the guest OS in a Fusion or Workstation virtual environment. Do you wish 
to enable this feature? [yes] --回车或输入 yes

Searching for GCC...
Detected GCC binary at "/bin/gcc".
The path "/bin/gcc" appears to be a valid path to the gcc binary.
Would you like to change it? [no] --回车保持默认

Searching for a valid kernel header path...
The path "" is not a valid path to the 3.10.0-1062.1.2.el7.x86_64 kernel 
headers.
Would you like to change it? [yes] --出现错误信息,输入 Ctrl+c 中止安装,进行处理错误

造成此问题的原因在于 VMware Tools 版本比较旧,因为 3.x 版本的内核 version.h 的路径变了,导致 VMware Tools无法找到该文件,需要给当前启动内核对应的头文件创建符号链接解决此问题。

首先查看”kernel-headers”是否已经安装,然后再查看该包对应的 version.h 文件的位置:

# rpm -qa | grep kernel-headers
kernel-headers-3.10.0-1127.19.1.el7.x86_64
# rpm -ql kernel-headers-3.10.0-1127.19.1.el7.x86_64 | grep version.h

图.7 查看 version.h 文件位置

用命令”sudo ln -s <内核头文件目录>/generated/uapi/linux/version.h <内核头文件目录>/include/linux/version.h”命令创建符合链接即可解决之前的问题。

我使用的内核头文件为”kernel-headers-3.10.0-1127.19.1.el7.x86_64″,故创建软链接的命令如下:

# ln -s /usr/src/kernels/3.10.0-1127.19.1.el7.x86_64/include/generated/uapi/linux/version.h /usr/src/kernels/3.10.0-1127.19.1.el7.x86_64/include/linux/version.h

创建完成后,重启虚拟机再次运行 VMware Tools 安装脚本,则此问题不再出现。

之后一直保持默认安装选项,直到出现以下提示表示 VMware Tools 完成:

图.8 安装 VMware Tools 完成

安装完成后,执行如下脚本进行 VMware Tools 的初始配置:

# /usr/bin/vmware-config-tools.pl

如果CentOS 7 安装了图形化界面,可以使用如下命令启动 vmware 用户进程,并进行文件真接拖拽功能验证,由于本次是最小化安装,就不再做演示,安装了 GUI 界面的朋友可以进行类似验证:

# /usr/bin/vmware-user
# startx

至此,CentOS 7 就成功安装了 VMware Tools 工具。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注