Ubuntu安装VirtualBox时依赖包缺失的原因及解决方法
解决Ubuntu安装VirtualBox时的依赖缺失问题(通过配置
sources.list) 我之前在Ubuntu上装VirtualBox时也踩过这个依赖缺失的坑,先给你捋清楚为啥会出现这问题,再一步步教你通过配置sources.list解决。
一、依赖缺失的常见成因
- 官方源版本滞后:Ubuntu默认软件源里的VirtualBox版本通常不是最新的,对应的依赖库可能没有同步更新,导致apt找不到匹配的依赖包。
- 关键仓库未启用:VirtualBox的不少依赖都在
universe这类非核心仓库里,如果你的sources.list里没启用这些仓库,自然会提示缺失。 - 软件包索引未更新:长时间没更新apt的索引,系统里的包信息还是旧的,就算源里有依赖,apt也识别不到。
- 源文件被误修改:之前手动改
sources.list时不小心删掉了关键源条目,导致部分依赖包的获取渠道丢失。
二、通过配置sources.list解决的步骤
1. 先备份原有的sources.list
修改源文件前一定要备份,万一搞坏了还能恢复:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
2. 编辑sources.list,确保基础仓库完整
用文本编辑器打开源文件(这里用nano,新手友好):
sudo nano /etc/apt/sources.list
根据你的Ubuntu版本,把下面对应的内容添加进去(覆盖原有无效条目,或者直接替换成这些,以Ubuntu 22.04 Jammy为例):
deb http://archive.ubuntu.com/ubuntu/ jammy main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ jammy-updates main restricted universe multiverse deb http://archive.ubuntu.com/ubuntu/ jammy-backports main restricted universe multiverse deb http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
注意:如果是其他版本,把
jammy换成对应的版本代号,比如20.04是focal,24.04是noble。
重点是要包含universe和multiverse,这两个仓库是VirtualBox依赖的关键来源。
3. (可选)添加VirtualBox官方源获取最新版本
如果想装最新版的VirtualBox,官方源的依赖会更匹配,步骤如下:
首先添加官方签名密钥,避免apt报错:
sudo wget -O- https://www.virtualbox.org/download/oracle_vbox_2016.asc | sudo gpg --dearmor -o /usr/share/keyrings/virtualbox-archive-keyring.gpg
然后回到sources.list末尾添加官方源(同样替换jammy为你的版本代号):
deb [signed-by=/usr/share/keyrings/virtualbox-archive-keyring.gpg] https://download.virtualbox.org/virtualbox/debian jammy contrib
4. 更新软件包索引并修复依赖
保存并退出编辑器(nano按Ctrl+O保存,Ctrl+X退出),然后执行:
sudo apt update
更新完成后,先修复系统中已有的依赖问题:
sudo apt install -f
5. 安装VirtualBox
现在可以正常安装VirtualBox了,比如安装7.0版本:
sudo apt install virtualbox-7.0
如果需要其他版本,把7.0换成对应的版本号即可。
三、验证安装
安装完成后,在终端输入virtualbox命令,或者在应用菜单里找到VirtualBox图标启动,如果能正常打开界面,就说明依赖问题已经解决啦。
内容的提问来源于stack exchange,提问作者Mohamed El Alami
相关产品推荐
相关产品推荐

