在哪里可以找到大多数流行Linux软件包的所有依赖项(直接和传递依赖项)的列表?
我希望以依赖图的形式提供一个完整的列表(只是列表),以便进行探索。是否有可下载的最流行的Linux软件包的所有依赖项列表?
有一些基于DVD的离线安装(如Debian / Ubuntu等)。 是否有任何工具可以提取这些DVD中给定包的依赖性信息?
我已经看到了下面的问题,但这不是我想要的。 Howto list all dependencies of a Package on Linux?
日Thnx
答案 0 :(得分:3)
由于您不想浏览Ubuntu's package page,我制作了一个小脚本,将所有包名及其依赖项保存到文本文件中。不用说,运行需要一段时间。
Download the script或查看以下来源:
#!/bin/bash
#author: @mrmitche_
#name: Build Dependencies List
#description: Lists the dependencies of all packages in apt on linux.
packages=$(apt-cache pkgnames)
declare -a array=($packages)
for pkg in ${array[@]}
do
apt-cache depends $pkg >>dependencies.txt
printf "\n" >>dependencies.txt
done
dependencies.txt中的示例输出:
postgresql-plperl-9.0
Depends: libc6
Depends: libperl5.14
Depends: postgresql-9.0
Depends: perl
Replaces: postgresql-contrib-9.0
Replaces: postgresql-contrib-9.0:i386
Conflicts: postgresql-plperl-9.0:i386
libc6-xen:i386
PreDepends: libc6:i386
python-pkginfo-doc
Depends: libjs-sphinxdoc
mumudvb
Depends: adduser
Depends: dvb-apps
Depends: libc6
Suggests: dvbtune
Conflicts: mumudvb:i386
libuuidm-ocaml-dev
Depends: <ocaml-nox-3.12.1>
ocaml-nox
Depends: libc6
Suggests: ocaml-findlib
Conflicts: libuuidm-ocaml-dev:i386
您可以根据需要修改脚本以对其进行格式化。也许来源包是因为它们按字母顺序排列。
答案 1 :(得分:1)
在debian
或ubuntu
,您可以发出
apt-cache show $PACKAGE_NAME
您可以使用以下方法打印所有包依赖项的列表:
for pkg in $(dpkg --get-selections | cut -f1) ; do apt-cache depends "$pkg" ; done