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 工具。