如何检查 Ubuntu 或 Debian 上的软件包依赖关系如何检查 Ubuntu 或 Debian 上的软件包依赖关系如何检查 Ubuntu 或 Debian 上的软件包依赖关系如何检查 Ubuntu 或 Debian 上的软件包依赖关系
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何检查 Ubuntu 或 Debian 上的软件包依赖关系

典型的 .deb 软件包依赖于其他软件包才能正确安装和运行。使用 apt-get 和 aptitude 等包管理器,您可以解决包依赖性,并自动安装所有先决条件。 gdebi 等工具允许您检测 .deb 文件中的任何依赖项,并将所有依赖包与 .deb 文件一起安装。

假设出于某种原因,您想要手动解决特定包的包依赖关系,在这种情况下,您需要首先识别其所有依赖包。

下面,我将解释如何检查 Ubuntu 或 Debian 上的软件包依赖关系。

使用 apt-rdepends 检查 Deb 包依赖关系

在这种情况下,名为 apt-rdepends 的命令行工具可以为您提供帮助。该工具可以递归检查.deb包的依赖关系,并列出所有找到的包依赖关系。

要在 Ubuntu 或 Debian 上安装 apt-rdepends:


$ sudo apt-get install apt-rdepends

要显示特定包(例如 tcpdump)的包依赖信息,请使用包名称运行命令:


$ apt-rdepends tcpdump

Reading package lists... Done
Building dependency tree
Reading state information... Done
tcpdump
  Depends: libc6 (>= 2.14)
  Depends: libpcap0.8 (>= 1.2.1)
  Depends: libssl1.0.0 (>= 1.0.0)
libc6
  Depends: libc-bin (= 2.15-0ubuntu20)
  Depends: libgcc1
  Depends: tzdata
libc-bin
libgcc1
  Depends: gcc-4.7-base (= 4.7.2-2ubuntu1)
  Depends: libc6 (>= 2.14)
  PreDepends: multiarch-support
. . . .

包依赖关系的可视化

由于许多递归定义的依赖关系,apt-rdepends 的文本输出可能难以阅读。这就是可视化可以提供帮助的时候。 apt-rdepends 可以将包依赖关系信息导出到 dot 文件中,基于 GUI 的图形编辑器(名为 dotty)可以使用该文件以图形格式可视化包依赖关系。

为了可视化,首先安装dotty图形编辑器工具:


$ sudo apt-get install graphviz

最后,运行以下命令以使用 dotty 可视化包依赖关系:


$ apt-rdepends -d tcpdump | dot > tcpdump.dot
$ dotty tcpdump.dot

tcpdump 包的可视化结果如下所示。

到目前为止,在本教程中,我们检查了基于 Debian 的系统上的包依赖关系。如果您想了解更多关于基于 RPM 的系统(例如 Fedora 或 CentOS)上的包依赖关系,请参阅本教程。

©2015-2025 艾丽卡 support@alaica.com