如何修复Ubuntu及其衍生产品中的依赖项错误?

Ubuntu中最常见的最常见问题 或其任何衍生产品 当用户安装从某网站下载的deb软件包时, 这是未解决依赖项的一个著名问题,因为该软件包需要应用程序的特定版本,否则将生成该软件包,并且该软件包将不在系统中,或者软件包管理器无法找到执行该软件包所必需的正确的相关软件包。的Ubuntu的。

尽管这类问题越来越少出现, 由于许多用户已经倾向于使用Flatpak,AppImage或Snap应用程序,此外,他们已经拥有了最受欢迎的应用程序的不错的目录,并且更多的开发人员继续以这种类型的应用程序添加他们的应用程序。格式。

找出问题

解决此烦人的错误的第一步是确定问题,因为 通常,当我们尝试安装时,这通常会跳跃 deb程序包甚至存储库中的程序包或应用程序。

该错误是从终端指示给我们的,它告诉我们某些依赖关系无法满足 或通过Ubuntu软件中心进行安装时,它根本不会安装该应用程序。

在这里重要的是要检查我们是否不尝试安装过时的软件包 好吧,可能有一个更新的软件包,或者检查存储库中软件包的日期以及直到可用的版本。

如果已经安装了冲突的程序包,则在尝试运行命令时:

sudo apt update

o

sudo apt upgrade

这将通知我们有关冲突,并要求我们执行命令来解决问题。

应用第一个解决方案

纠正错误的最直接方法 Ubuntu中的依赖关系是默认的软件包管理器,要启动更正,只需打开终端并运行以下命令:

sudo apt install -f

执行以上命令时, Ubuntu软件包管理器将尝试解决问题 面对依赖 它将打印您将要进行的更改。 

这里 重要的是要注意您打印的更改 因为如果它不能解决与依赖关系冲突的问题,它将继续卸载一个或多个有冲突的软件包,并告诉我们哪些依赖关系是与该软件包冲突的依赖关系。

同样,您可以选择其他解决方案:

在本地下载Deb软件包
相关文章:
如何在本地下载具有依赖项的DEB软件包?

第二种解决方案,安装必要的依赖项

考虑到上一步,我们在此处写下了解决依赖项错误所需的程序包或库,此处 我们将在终端上逐一安装软件包,或者我们可以通过Synaptic帮助自己

例如,它在终端中向我们显示了以下内容:

"Error: Dependency is not satisfiable: libgtk-3-0 (>=3.16.2)"

我们应该注意 它告诉我们发行版“ libgtk 3.0”大于或等于版本“ 3.16.2” 对于我们的欠款在这种情况下,下载所述库的版本。 这里重要的是要考虑到,对于库来说,许多应用程序都依赖一个或某个版本,因此,我个人不建议您放手。

要查找特定版本,我们可以依靠 ubuntu软件包页面 (packages.ubuntu.com) 验证它是哪个版本的Ubuntu,以及哪个版本的Ubuntu,因为通常不启用某些版本。

在这里,您可以下载并安装所需的相应软件包。

作为建议,如果在安装某个特定版本的库时表明所请求的库更多,则最好放弃该库,因为这可能会破坏图形环境或最终破坏系统。 

第三个也是最后一个选择。 解压缩必须更改依赖关系并重新打包。

最后一个选项是 理论上最好的选择, 因为通常开发人员通常会指出该应用程序可以在特定版本的发行版下运行,但是他们没有考虑到该库可以在几天之内或在发布应用程序的那一刻进行更新。

因此,如果他们限制应用程序只能在特定版本下运行, 这是导致冲突的原因。

所以 我们要做的是解压deb包,然后更改依赖项 到我们系统中使用的版本(这就是为什么重要的是要指出哪些依赖项存在冲突以及特定的版本)。

为此,我们将输入以下命令:

dpkg-deb -R “ruta-de-paquete-deb” “nombre-de-carpeta-que-tendra-los -archivos”

例如:

dpkg-deb -R gimp.deb Gimp

我们将访问该文件夹 然后转到以下路线“ / DEBIAN”

cd Gimp/DEBIAN

我们将编辑文件“ control” 和我们最喜欢的编辑

sudo gedit control

这里 我们将寻找指示相关性的行 与我们有冲突,我们将对其进行编辑。

例如,我们将找到以下内容:

Package: XXXX

Version: XXXX

Depends: libgtk3-0 (>= 3.16.xx"

我们将切换到现有版本。 我们保存更改并重新打包以重新安装:

dpkg-deb -b Gimp Gimp-new.deb

并生成新的deb软件包以进行安装。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   丹尼尔

    关于deb软件包非常有趣。 不认识他。 你好。

  2.   费尔南多·包蒂斯塔

    依赖关系破裂的问题何在,因此,我欢庆了Snap和Flatpak等软件包的实现(我选择了第一个),以查看我们是否最终开始实现标准化并在桌面上获得发展。

  3.   马里奥·安纳亚(Mario Anaya)

    这些天,我正遭受这种痛苦,我尝试遵循这些程序,但收效甚微。
    远不是说读的东西是错误的。
    这更多是由于对使用linux进行编写的人的无知所致,我使用它的时间相对较短,并且对于所有答案我都只需要格式化和重新安装系统即可。
    这就像尝试阅读中文。 这几乎对我征税

    1.    大卫·纳兰霍

      依赖项存在问题可能有很多因素,并且在很大程度上,正如我们在文章中提到的那样,当我们尝试安装可能已过时或与其他版本的Ubuntu兼容或专门为某个特定发行版构建的软件包时,就会发生这种情况(通常用于Debian)。

      另一种情况是当您应用–force指令并应用以后的apt更新或升级并更改某些库时。
      另一方面,当程序包与台式机环境冲突时,您在台式机环境中安装了两个或多个环境,它们之间的依赖关系通常相同,并且在没有给出保持依赖关系的说明的情况下卸载了其中的任何一个。
      案例很多,但是如果您想分享您的问题,我们也许可以找到解决方案。
      问候。

  4.   亚历杭德罗·门多萨

    您好,我遇到了损坏的软件包的问题,​​第一个选项无法解决任何问题,第二个选项在搜索软件包时没有出现软件包或库,无法手动安装它们,并且我正在使用该程序进行更新在Ubuntu 18.04中,不知道如果发生第3种情况,更新的.deb来自哪里,有什么解决方案吗? 请谢谢!!!

  5.   奥斯卡·安东尼奥·加西亚

    我的 zorin 有问题,安装了一些编解码器,我得到一个错误,在终端我得到错误字符串:
    /var/lib/dpkg/锁前端

    我该如何解决它,因为我是新手