Ubuntu 16.04中apt upgrade升级open-vm-tools卡在vmware-checkvm求助
解决Ubuntu 16.04虚拟机open-vm-tools升级卡在vmware-checkvm的问题
我之前维护老版本Ubuntu虚拟机时也碰到过一模一样的糟心事——vmware-checkvm进程卡住导致整个包管理流程僵死,就算重启、强制杀进程也没用。别慌,下面是我亲测有效的解决步骤:
第一步:解除dpkg锁定并终止卡住的进程
升级中断后,dpkg通常会处于锁定状态,先清理掉这些锁文件,同时强制终止卡住的vmware-checkvm进程:
# 终止所有vmware-checkvm进程 sudo pkill -9 vmware-checkvm # 清理dpkg相关锁文件 sudo rm -f /var/lib/dpkg/lock-frontend sudo rm -f /var/lib/dpkg/lock sudo rm -f /var/cache/apt/archives/lock
第二步:临时替换vmware-checkvm绕过检查
卡住的根源是open-vm-tools的post-install脚本会调用vmware-checkvm,这个进程在某些老虚拟机环境下会莫名僵死。我们可以临时替换它为一个直接返回成功的脚本:
# 备份原文件,留作后手 sudo mv /usr/bin/vmware-checkvm /usr/bin/vmware-checkvm.bak # 创建一个假的vmware-checkvm脚本,执行后直接返回成功状态 echo -e '#!/bin/sh\nexit 0' | sudo tee /usr/bin/vmware-checkvm # 给脚本添加执行权限 sudo chmod +x /usr/bin/vmware-checkvm
第三步:完成未完成的dpkg配置
现在重新让dpkg处理中断的包配置流程,这时候应该能顺利跳过卡住的环节:
sudo dpkg --configure -a
第四步:恢复正常的vmware-checkvm
配置完成后,重新安装open-vm-tools来恢复原版的vmware-checkvm工具,确保后续功能正常:
sudo apt install --reinstall open-vm-tools
第五步:验证升级流程
最后再执行一次升级命令,确认整个流程已经恢复正常:
sudo apt update && sudo apt upgrade
额外提示
如果你用的是Ubuntu桌面版,可能还需要同步重装桌面专属的工具包:
sudo apt install --reinstall open-vm-tools-desktop
内容的提问来源于stack exchange,提问作者Martin Becker
相关产品推荐
相关产品推荐

