如何卸载为了安装 VirtualBox 6.1.x 而取消的 VirtualBox 7.0.x?

如何卸载为了安装 VirtualBox 6.1.x 而取消的 VirtualBox 7.0.x?

在 Ubuntu Desktop 22.04 上执行:

sudo dpkg -i virtualbox-7.0_7.0.4-154605~Ubuntu~jammy_amd64.deb 

但通过ctrl+取消了解包过程c。因为需要的是 6.1.40 版本。几秒钟后执行

sudo dpkg -i virtualbox-6.1_6.1.40-154048~Ubuntu~jammy_amd64.deb 

和表演

(Reading database ... 200469 files and directories currently installed.)
Preparing to unpack virtualbox-6.1_6.1.40-154048~Ubuntu~jammy_amd64.deb ...
Unpacking virtualbox-6.1 (6.1.40-154048~Ubuntu~jammy) over (6.1.40-154048~Ubuntu~jammy) ...
dpkg: dependency problems prevent configuration of virtualbox-6.1:
 virtualbox-6.1 depends on libqt5core5a (>= 5.15.1); however:
  Package libqt5core5a is not installed.
 virtualbox-6.1 depends on libqt5gui5 (>= 5.14.1) | libqt5gui5-gles (>= 5.14.1); however:
  Package libqt5gui5 is not installed.
  Package libqt5gui5-gles is not installed.
 virtualbox-6.1 depends on libqt5opengl5 (>= 5.0.2); however:
  Package libqt5opengl5 is not installed.
 virtualbox-6.1 depends on libqt5printsupport5 (>= 5.0.2); however:
  Package libqt5printsupport5 is not installed.
 virtualbox-6.1 depends on libqt5widgets5 (>= 5.15.1); however:
  Package libqt5widgets5 is not installed.
 virtualbox-6.1 depends on libqt5x11extras5 (>= 5.6.0); however:
  Package libqt5x11extras5 is not installed.
 virtualbox-6.1 depends on libsdl1.2debian (>= 1.2.11); however:
  Package libsdl1.2debian is not installed.

dpkg: error processing package virtualbox-6.1 (--install):
 dependency problems - leaving unconfigured
Processing triggers for mailcap (3.70+nmu1ubuntu1) ...
Processing triggers for gnome-menus (3.36.0-1ubuntu3) ...
Processing triggers for desktop-file-utils (0.26-1ubuntu3) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for shared-mime-info (2.1-2) ...
Errors were encountered while processing:
 virtualbox-6.1

因此被执行了sudo apt -f install并且显示

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: The package virtualbox-7.0 needs to be reinstalled, but I can't find an archive for it.

sudo apt purge virtualbox-7.0表演

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: The package virtualbox-7.0 needs to be reinstalled, but I can't find an archive for it.

如果我尝试重新安装 VB 7 以便稍后使用

sudo apt install ./virtualbox-7.0_7.0.4-154605~Ubuntu~jammy_amd64.deb 

表明

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 virtualbox-6.1 : Depends: libqt5core5a (>= 5.15.1) but it is not installed
                  Depends: libqt5gui5 (>= 5.14.1) but it is not installed or
                           libqt5gui5-gles (>= 5.14.1) but it is not installed
                  Depends: libqt5opengl5 (>= 5.0.2) but it is not installed
                  Depends: libqt5printsupport5 (>= 5.0.2) but it is not installed
                  Depends: libqt5widgets5 (>= 5.15.1) but it is not installed
                  Depends: libqt5x11extras5 (>= 5.6.0) but it is not installed
                  Depends: libsdl1.2debian (>= 1.2.11)
                  Recommends: libsdl-ttf2.0-0 but it is not installed
                  Recommends: gcc but it is not installed
                  Recommends: make or
                              build-essential but it is not installed or
                              dpkg-dev but it is not installed
                  Recommends: binutils but it is not installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

如果执行则apt --fix-broken install显示

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: The package virtualbox-7.0 needs to be reinstalled, but I can't find an archive for it.

如果我想重新安装 VB 6.1

sudo apt install ./virtualbox-6.1_6.1.40-154048~Ubuntu~jammy_amd64.deb 

它显示(观察它静止不动,参见 7)

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: The package virtualbox-7.0 needs to be reinstalled, but I can't find an archive for it.

如果我想卸载 VB 6.1,sudo apt purge virtualbox-6.1它会显示

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: The package virtualbox-7.0 needs to be reinstalled, but I can't find an archive for it.

如何解决这个问题?

目标是彻底卸载 VB 7 并安心安装 VB 6.1。

Α

根据用户535733的建议,执行以下命令:

sudo dpkg -i virtualbox-7.0_7.0.4-154605~Ubuntu~jammy_amd64.deb 

出现

dpkg: regarding virtualbox-7.0_7.0.4-154605~Ubuntu~jammy_amd64.deb containing virtualbox-7.0:
 virtualbox-7.0 conflicts with virtualbox
  virtualbox-6.1 provides virtualbox and is present and unpacked but not configured.

dpkg: error processing archive virtualbox-7.0_7.0.4-154605~Ubuntu~jammy_amd64.deb (--install):
 conflicting packages - not installing virtualbox-7.0
Errors were encountered while processing:
 virtualbox-7.0_7.0.4-154605~Ubuntu~jammy_amd64.deb

答案1

我找到了一个使用该命令的可能解决方案:

sudo dpkg --remove --force-remove-reinstreq <packagename>

它符合帖子和解决方案:

但它的第一条评论表明:

This command should always be avoided as it breaks you system more than it repairs

不确定这是否属实。但有风险

解决方案

因此我做了以下事情并最终成功了:

sudo cp /var/lib/dpkg/status status.bkp
sudo gedit /var/lib/dpkg/status

删除包含错误消息的部分。我的情况是:

Package: virtualbox-7.0
Status: install reinstreq half-installed
Priority: optional
Section: contrib/misc
Architecture: amd64
Version: 7.0.4-154605~Ubuntu~jammy

观察status-安装 reinstreq 半安装

该解决方案的来源/信用归功于这篇文章

因此命令可以正常工作

sudo dpkg -i virtualbox-6.1_6.1.40-154048~Ubuntu~jammy_amd64.deb
sudo apt -f install

关于 VirtualBox7使用以下命令会发生:

sudo apt remove virtualbox-7
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
E: Unable to locate package virtualbox-7

sudo apt remove virtualbox-7.0
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package 'virtualbox-7.0' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

sudo apt purge virtualbox-7.0
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package 'virtualbox-7.0' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

看来一切都还好。

相关内容