安装本地包来替换已经安装的包

安装本地包来替换已经安装的包

我正在尝试安装一个本地构建的 .deb 文件来替换已安装的包。

尝试使用dpkg -i结果如下:

dabo@chrubuntu:~/Downloads/mali$ sudo dpkg -i chromium-mali-opengles_0.45-0ubuntu1_armhf.deb 
dpkg: considering removing libegl1-mesa:armhf in favour of chromium-mali-opengles:armhf ...
dpkg: no, cannot proceed with removal of libegl1-mesa:armhf (--auto-deconfigure will help):
 libegl1-mesa-drivers:armhf depends on libegl1-mesa (= 9.1.4-0ubuntu0.1)
  libegl1-mesa:armhf is to be removed.

dpkg: regarding chromium-mali-opengles_0.45-0ubuntu1_armhf.deb containing chromium-mali-opengles:armhf:
 chromium-mali-opengles conflicts with libegl1-x11
  libegl1-mesa:armhf provides libegl1-x11 and is present and installed.

dpkg: error processing chromium-mali-opengles_0.45-0ubuntu1_armhf.deb (--install):
 conflicting packages - not installing chromium-mali-opengles:armhf
Errors were encountered while processing:
 chromium-mali-opengles_0.45-0ubuntu1_armhf.deb

当我尝试卸载 libegl1-mesa 时,它也会卸载大量依赖它的其他软件包。

有什么办法可以安装 chromium-mali-opengles_0.45-0ubuntu1_armf.deb 吗?

我想做的一件事是使用dpkg --get-selections保存所有软件包名称,卸载 libegl1-mesa 及其所有依赖项,安装 chromium-mali-opengles,然后使用 恢复其余软件包dpkg --set-selections。这会是一个非常糟糕的主意吗?

我还非常确定 aptitude 之类的东西可以让我卸载一个软件包并同时安装另一个软件包,而无需卸载所有依赖它的软件包。虽然我不知道如何使用 aptitude 来做到这一点。

我也尝试过使用 gdebi,认为它可能具有更多的依赖管理,但它给出了与 dpkg 相同的错误。

答案1

首先尝试使用以下方法解决问题依赖项,然后尝试使用以下命令安装它:

sudo dpkg -i -B chromium-mali-opengles_0.45-0ubuntu1_armhf.deb

man dpkg

-B, --auto-deconfigure
          When  a  package is removed, there is a possibility that another
          installed package depended on the  removed  package.  Specifying
          this  option will cause automatic deconfiguration of the package
          which depended on the removed package.

相关内容