安装软件包后在基于 debian 的操作系统中下载的依赖项信息

安装软件包后在基于 debian 的操作系统中下载的依赖项信息

完美安装软件包后,如何知道在基于 debian 的操作系统中下载的依赖项?

这个在安装的时候就给出了明确的信息,但是如果安装过就无法再获取到这些信息,那么如何在用户想要的时候随时获取这些信息呢?

答案1

要下载的依赖项取决于最终安装的包以及已存在的包集。这是apt安装软件包时和类似工具确定并显示的内容。

安装软件包后,您将需要一些手动工作。apt-rdepends将递归地列出包的所有依赖项;这将允许您确定需要下载的最大软件包集。例如,

$ apt-rdepends msitools
msitools
  Depends: libc6 (>= 2.4)
  Depends: libgcab-1.0-0 (>= 0.4)
  Depends: libglib2.0-0 (>= 2.18.0)
  Depends: libgsf-1-114 (>= 1.14.8)
  Depends: libmsi0 (>= 0.93)
  Depends: libuuid1 (>= 2.16)
  Depends: libxml2 (>= 2.6.27)
libc6
  Depends: libgcc1
libgcc1
  Depends: gcc-8-base (= 8.3.0-6)
  Depends: libc6 (>= 2.14)
gcc-8-base
[...]

通过适当的后处理(在本例中),| grep Depends | sort -u您可以确定msitools今天在 Debian 10 中安装需要gcc-8-base(8.3.0-6)、libblkid1(2.17.2 或更高版本)、、libbz2-1.0( libc62.28 或更高版本)、libffi6(3.0.4或更高版本)、libgcab-1.0-0(0.4 或更高版本)、libgcc1(1:4.2 或更高版本)、libglib2.0-0(2.39.4 或更高版本)、libgsf-1-114(1.14.8 或更高版本)、libgsf-1-common(1.14.45-1 或更高版本)、libicu63(63.1-1~ 或更高版本)、liblzma5(5.1.1alpha+20120614 或更高版本)、libmount1(2.28 或更高版本)、libmsi0(0.93 或更高版本)、、libpcre3libselinux12.6-3~ 或更高版本)、libstdc++6(5.2 或更高版本)、libuuid1(2.16 或更高版本)、libxml2(2.7. 4 或更高版本)和zlib1g(1:1.2.3.3 或更高版本)。

将所有这些内容提供给apt-get download,没有版本限制,将为您提供所有必需的包文件。 (不需要版本限制,因为使用 Debian 10 中的最新版本即可满足以上所有条件。)

这是一个简单的依赖关系树,但是一旦虚拟包或替代依赖关系可用,分析就会变得更加复杂。

答案2

评论变得有点长。

你安装的是什么?如何?

在大多数情况下,软件包依赖于其他软件包,因此软件在安装后即可使用。如果您安装的软件所具有的依赖项不是软件包的依赖项,我希望您安装的软件包的源能够提供一些信息。如果包没有适当的依赖项,则有几个选项可以说明如何输出它们。你可以尝试看看包里有没有可用的文档dpkg -l <package name>

相关内容