作者:我爱板材_527 | 来源:互联网 | 2023-10-13 13:35
与其说是问题不如说是文档。
这是关于无法构建的 virtualbox 6.1.10、Ubuntu 20.04 和 virtualbox-dkms 包失败apt-get install
或update
相关。
我最近在 Ubuntu 20.04 和 Virtual Box 6.1.10 上遇到了一个问题,类似于此处和此处记录的问题。
问题是从 ubuntu 软件中心安装 virtual box 安装了 v6.1.10,它与当前的 ubuntu 内核版本 v 5.8.xx 不兼容。
这些都是已知问题,但是当我错误地尝试从软件包商店重新安装 vbox 时出现了我的问题。以前,virtualbox-dkms 已被编译并重新安装会删除功能包并且失败并显示错误 ( status 10
)。所以我最终得到了这样的错误:
Loading new virtualbox-6.1.10 DKMS files...
Building for 5.8.0-36-generic
Building initial module for 5.8.0-36-generic
ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/virtualbox-dkms.0.crash'
Error! Bad return status for module build on kernel: 5.8.0-36-generic (x86_64)
Consult /var/lib/dkms/virtualbox/6.1.10/build/make.log for more information.
dpkg: error processing package virtualbox-dkms (--configure):
installed virtualbox-dkms package post-installation script subprocess returned error exit status 10
Processing triggers for man-db (2.9.1-1) ...
Errors were encountered while processing:
virtualbox-dkms
可以在以下位置看到此错误:
cat /var/log/apt/history.log
- -或者 - -
/var/log/apt/term.log
为了解决这个问题,我按照此处的说明直接从他们的网站重新安装了 virtualbox v.6.1.16 。
但是在随后的更新中,即使不再使用该过程,我仍然收到有关 virtualbox-dkms 的相同错误。因此,为了解决此问题,请关注此站点。
我复制了导致失败的安装后脚本:
sudo mv /var/lib/dpkg/info/virtualbox-dkms.postinst ./virtualbox-dkms.postinst.bac
然后清除旧虚拟机安装的剩余 dkms 文件并进行更新:
sudo apt-get purge virtualbox-dkms
sudo apt-get update && sudo apt-get upgrade
到目前为止没有问题!希望这对其他人有帮助!
TLDR:尝试从 ubuntu 软件管理器重新安装以修复 virtualbox v6.10。v6.10 与 ubuntu 20.04 内核 v5.8 存在问题。要修复损坏的包,virtualbox-dkms,删除安装后脚本并清除旧的 virtualbox v6.1.10 文件并直接从他们的网站安装 virtualbox 以获取 virtualbox ^v6.1.16。
回答
我也有同样的问题,并且能够通过以下步骤解决:首先,使用以下命令更新和升级您的 ubuntu 20.04
sudo apt-get update
sudo apt-get upgrade
然后,删除现有的dkms tree
包
sudo apt-get remove virtualbox-dkms
继续删除虚拟机
sudo apt-get remove virtualbox
sudo apt-get autoremove
从Virtualbox 下载页面下载安装程序
wget https://download.virtualbox.org/virtualbox/6.1.16/virtualbox-6.1_6.1.16-140961~Ubuntu~eoan_amd64.deb
安装包
sudo dpkg -i virtualbox-6.1_6.1.16-140961_Ubuntu_eoan_amd64.deb
安装可能因为某些依赖而失败,请尝试运行sudo apt-get install -f
然后重新安装该软件包。