侧边栏壁纸
博主头像
KLCode

水到绝处是风景,人到绝处是重生

  • 累计撰写 24 篇文章
  • 累计创建 17 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

VMware 安装 CentOS 7:VMTools 报错

VMware 安装 CentOS 7:VMTools 报错

我最近在捣鼓VMware 虚拟机,准备弄个备用系统当作练习环境,试了下 Windows、CentOS 的镜像。主要原因是学校经常要求安装一些流氓软件,不仅装坏了环境,还卸载不干净,重装或者排查清除很耗时间。用虚拟机的话可以直接重新加载快照,回退到清爽的环境,相当于无痛重装系统了,省时省力。

当然,虚拟机也能模拟大数据Hadoop集群部署、服务器的搭建测试。没有服务器,用作本地练习也是不错的。

问题

  • 环境:windows
  • 安装系统:‌CentOS 7 桌面版(GNOME)

偷懒想试试桌面版 Linux,搭建好环境后,发现 Windows 和 Linux 之间无法复制粘贴文本和文件,于是装了VMware Tools 共享文件夹,但是之前在 CentOS 6.8 安装可以的,在CentOS 7 就报错了,报错如下:

Error when getting information for file “//tmp/VMwareDnD/p6v6B6/*.*”: No such file or directory

解决方案

原因

CentOS 7 默认集成了open-vm-tools,会与 VMware Tools 产生依赖冲突,但open-vm-tools无法满足我的需求,所以需要卸载 open-vm-tools,再进行安装。

卸载 open-vm-tools

// 检测是否预装了 open-vm-tools
sudo yum list installed | grep open-vm-*
// 卸载预装的程序包
sudo yum remove open-vm-tools
// 确认是否卸载成功
sudo rpm -qa | grep open-vm-*
// 重启虚拟机
sudo reboot

安装 VMware Tools

虚拟机 菜单 -> 安装 VMware Tools,VMware Tools的安装程序镜像会自动挂载到系统中并弹出相关提示,我们需要的安装包也在其中。

  • 把 VMwareTools-10.2.5-8068393.tar.gz解压缩
sudo tar xzvf VMwareTools-10.2.5-8068393.tar.gz
  • 安装
cd /opt/vmware-tools-distrib
sudo ./vmware-install.pl
  • 重装 open-vm-tools
yum install open-vm-tools -y

重启虚拟机后,就能解决问题了

VMTools 文件共享导致空间不足

使用 VMTools 共享后没多久,发现之前分配的磁盘空间竟然不足了!?原因是从 windows 复制粘贴的文件,会被自动缓存在 .cache 文件夹,需要定期清除。好家伙,用了还得手动清除?果然偷懒用GUI 系统,是原罪。

那肯定不能手动清除,躺平得躺到底呀。我们可以使用 inotify-tools(文件监控工具)进行实时清理。

inotify-tools 实时清理

首先安装工具

sudo yum install inotify-tools -y

写个脚本文件

vi ~/clean_vmware_cache.sh 
#!/bin/bash  
# 监控 VMware Tools 拖拽缓存目录
inotifywait -m -e create --format '%w%f' /home/你的用户名/.cache | while read file  
do  
    rm -rf "$file"  # 文件创建后立即删除
done  

给文件加可执行权限

chmod +x ~/clean_vmware_cache.sh 

手动写个服务

sudo vi /etc/systemd/system/clean_cache.service  

服务编辑如下:

[Unit]  
Description=Auto clean VMware cache  

[Service]  
ExecStart=/home/你的用户名/clean_vmware_cache.sh  #文件路径

[Install]  
WantedBy=multi-user.target  

启动服务

sudo systemctl daemon-reload  
sudo systemctl start clean_cache.service

试下效果,没问题的话,设置开机自启动

sudo systemctl enable clean_cache.service  

到这就能解决问题了

VMTools 替代方案

VMTools 的短板很明显,感觉用起来不稳定,局限性也很大,有兴趣可以探索下 Samba或NFS替代

  • VMTools优势
    • 实现鼠标主机与虚拟机间自由移动
    • 文件、剪切板共享
    • 时间同步
  • VMTools弊端
    • 文件传输存在 ‌2M 大小限制‌,大文件复制不完整‌
    • 服务经常失效
    • 临时文件堆积,导致磁盘空间不足

评论区