Linux软件包在哪里下载完整的依赖项列表

时间:2013-05-03 08:10:34

标签: linux dependencies dependency-management

在哪里可以找到大多数流行Linux软件包的所有依赖项(直接和传递依赖项)的列表?

我希望以依赖图的形式提供一个完整的列表(只是列表),以便进行探索。是否有可下载的最流行的Linux软件包的所有依赖项列表?

有一些基于DVD的离线安装(如Debian / Ubuntu等)。 是否有任何工具可以提取这些DVD中给定包的依赖性信息?

我已经看到了下面的问题,但这不是我想要的。 Howto list all dependencies of a Package on Linux?

日Thnx

2 个答案:

答案 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)

debianubuntu,您可以发出

apt-cache show $PACKAGE_NAME

您可以使用以下方法打印所有包依赖项的列表:

for pkg in $(dpkg --get-selections | cut -f1) ; do apt-cache depends  "$pkg" ; done