在Fedora 33上安装VirtualBox 6.1

在本教程中,您将学习如何在Fedora 33上安装VirtualBox6.1。 VirtualBox6.1可用于大多数Linux平台软件包存储库中的安装。但是,在撰写本文时,VirtualBox在默认的Fedora 33存储库上不可用。但是,如果您需要在Fedora 33上安装VirtualBox 6.1,则可以通过重建可用的Fedora 32 rpm来完成。

在Fedora 33上安装VirtualBox 6.1

下载适用于Fedora 32的VirtualBox 6.1 RPM

首先,从他们的Fedora 32下载VirtualBox 6.1。 官方网站;

wget https://download.virtualbox.org/virtualbox/6.1.16/VirtualBox-6.1-6.1.16_140961_fedora32-1.x86_64.rpm

如果尝试安装,将出现如下错误:

Last metadata expiration check: 0:19:24 ago on Tue 12 Jan 2021 10:41:01 PM GMT.
Error: 
 Problem: conflicting requests
  - nothing provides python(abi) = 3.8 needed by VirtualBox-6.1-6.1.16_140961_fedora32-1.x86_64
(try to add '--skip-broken' to skip uninstallable packages)

如错误所示,Python3.8与该rpm软件包(= 3.8)绑定,并且在系统上找不到。

您可以按照以下方式检查可用的Python版本;

ls /usr/bin/python*
    /usr/bin/python
    /usr/bin/python2
    /usr/bin/python2.7
    /usr/bin/python2.7-config
    /usr/bin/python2-config
    /usr/bin/python3
    /usr/bin/python3.9
    /usr/bin/python-argcomplete-check-easy-install-script
    /usr/bin/python-argcomplete-tcsh

最新版本是Python 3.9。降级到python 3.8会影响其他依赖3.9版的软件包。

因此,您需要重建软件包以使用Python 3.9及更高版本。

安装必需的构建软件包

安装以下步骤所需的以下软件包:

sudo dnf -y install rpmrebuild binutils gcc make patch libgomp glibc-headers glibc-devel kernel-headers kernel-devel dkms qt5-qtx11extras libxkbcommon

重建VirtualBox

现在您可以使用rpmrebuild编辑Python 3.8要求。导航至您下载rpm文件的位置,在我的情况下为当前工作目录;

ls
 VirtualBox-6.1-6.1.16_140961_fedora32-1.x86_64.rpm

并运行以下命令;

sudo rpmrebuild --change-spec-preamble="sed -e "s/32/33/"" --change-spec-requires="sed -e "s/python(abi) = 3.8/python(abi) >= 3.8/"" --package VirtualBox-6.1-6.1.16_140961_fedora32-1.x86_64.rpm

该命令将运行几分钟。完成后,您将看到类似于以下内容的最后一行;

result: /root/rpmbuild/RPMS/x86_64/VirtualBox-6.1-6.1.16_140961_fedora33-1.x86_64.rpm

在Fedora 33上安装VirtualBox 6.1

在上一行显示的目录中可以找到新的rpm。

cd ~/rpmbuild/RPMS/x86_64/
sudo dnf -y install ./VirtualBox-6.1-6.1.16_140961_fedora33-1.x86_64.rpm

安装将完成。

您还需要为这个新软件包重建内核模块。

sudo /usr/lib/virtualbox/vboxdrv.sh setup

将用户添加到vboxusers组

最后一步是将当前用户添加到vboxusers组。

sudo usermod -aG vboxusers $USER

在Fedora 33上运行VirtualBox 6.1

VirtualBox 6.1现在已成功安装在Fedora 33上。您可以从桌面应用程序启动,也可以在终端中运行以下命令;

VirtualBox

这标志着我们有关如何在Fedora 33中安装VirtualBox 6.1的教程的结尾。

Sidebar