VirtualBox 7.0安装依赖问题求助(新手)
问题描述
我是刚接触Linux的新手,最近尝试安装VirtualBox 7.0时遇到了一堆依赖不匹配的错误,终端输出如下:
virtualbox-7.0 : Depends: libqt5core5a (>= 5.15.1) but 5.12.8+dfsg-0ubuntu2.1 is to be installed
Depends: libqt5dbus5 (>= 5.14.1) but 5.12.8+dfsg-0ubuntu2.1 is to be installed
Depends: libqt5gui5 (>= 5.14.1) but 5.12.8+dfsg-0ubuntu2.1 is to be installed or
libqt5gui5-gles (>= 5.14.1) but it is not going to be installed
Depends: libqt5help5 (>= 5.15.1) but 5.12.8-0ubuntu1 is to be installed
Depends: libqt5widgets5 (>= 5.15.1) but 5.12.8+dfsg-0ubuntu2.1 is to be installed
Depends: libstdc++6 (>= 12) but 10.5.0-1ubuntu1~20.04 is to be installed
Depends: libvpx7 (>= 1.10.0) but it is not installable
E: Unable to correct problems, you have held broken packages.
完全不知道该怎么处理,有没有大佬能帮忙指导一下?
解决方案
嘿,兄弟,看你的错误信息,大概率是用的Ubuntu 20.04吧?这个版本默认的Qt5、libstdc++6版本都低于VirtualBox 7.0的要求,才会出现这些依赖冲突。给你几个可行的解决办法,按顺序试试:
- 切换到VirtualBox官方源安装
系统默认源里的VirtualBox版本往往跟不上,依赖也不匹配。先清理旧的安装残留,再添加官方源试试:
# 卸载已安装的VirtualBox相关包(如果有的话) sudo apt remove --purge virtualbox* sudo apt autoremove && sudo apt clean # 添加官方验证密钥 wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add - wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add - # 添加官方源 echo "deb [arch=amd64] https://download.virtualbox.org/virtualbox/debian $(lsb_release -cs) contrib" | sudo tee /etc/apt/sources.list.d/virtualbox.list # 更新源并安装VirtualBox 7.0 sudo apt update sudo apt install virtualbox-7.0
官方源会自动适配依赖,但如果你的系统版本太老还是有问题,就看第二个办法。
- 升级系统到支持的版本
VirtualBox 7.0对系统版本有要求,Ubuntu 22.04及以上版本默认就能满足所有依赖。如果数据已经备份好,可以考虑升级系统:
sudo apt update && sudo apt upgrade -y sudo do-release-upgrade
升级完成后再安装VirtualBox,基本就不会有依赖问题了。
- 检查并解锁锁定的损坏包
错误里提到的held broken packages,先看看有没有被锁定的包:
sudo apt-mark showhold
如果有输出的包名,用sudo apt-mark unhold [包名]解锁,之后再尝试安装操作。
如果以上方法都不行,新手不推荐手动下载deb包补依赖(容易越搞越乱),优先考虑前两个方案~
备注:内容来源于stack exchange,提问作者MioArte

