det*_*tly 6 apt package-management
我想列出给定包的递归依赖项,以及每个依赖项的当前安装版本。我还希望每一行都有一个条目,因此它是可排序和可区分的。
基本上,比如说,tcpdump
我希望输出看起来像:
libtext-wrapi18n-perl: 0.06-7
perl-base: 5.14.2-21+deb7u2
Run Code Online (Sandbox Code Playgroud)
...等等。每行的确切格式并不重要,重要的是差异和排序的能力。
APT中已安装包的问题列表(递归)依赖项类似,但没有给出包版本。使用debfoster -d
看起来很有希望,但它的输出不适合进一步处理。
已经提供的两个答案都有其优点和缺点。
开头debfoster
给出了一个易于解析的包列表,因此以下给出了请求的结果:
apt-cache policy $(debfoster -q -d tcpdump|tail -n +2)|awk '/^[^ ]/ { package=$0 } / Installed/ { print package " " $2 }'
Run Code Online (Sandbox Code Playgroud)
使用tail
跳过第一线和awk
处理结果在单次操作。(使用命令替换避免了处理换行符的需要。)开始debfoster
意味着我们只能使用已经安装的包来执行此操作,因此我们可以使用dpkg
来提供更多信息:
dpkg -l $(debfoster -q -d tcpdump|tail -n +2)
Run Code Online (Sandbox Code Playgroud)
开头apt-rdepends
给出了一个包的列表,它有点难以处理,有重复;但它的优点是能够处理尚未安装的包:
apt-cache policy $(apt-rdepends -p tcpdump 2>| /dev/null|awk '/Depends/ {print $2}'|sort -u)|awk '/^[^ ]/ { package=$0 } / Installed/ { print package " " $2 }'
Run Code Online (Sandbox Code Playgroud)
这也可以用于dpkg -l
:
dpkg -l $(apt-rdepends -p tcpdump 2>| /dev/null|awk '/Depends/ {print $2}'|sort -u)
Run Code Online (Sandbox Code Playgroud)
但这需要dpkg
了解所涉及的所有软件包,如果未安装正在处理的软件包,则情况可能并非如此。
debfoster
Recommends
默认包括;这可以使用--option UseRecommends=no
以下方法禁用:
debfoster -q --option UseRecommends=no -d tcpdump
Run Code Online (Sandbox Code Playgroud)
apt-rdepends
Recommends
默认不包含;这可以使用-f Depends,PreDepends,Recommends -s Depends,PreDepends,Recommends
以下方法启用:
apt-rdepends -f Depends,PreDepends,Recommends -s Depends,PreDepends,Recommends -p tcpdump
Run Code Online (Sandbox Code Playgroud)
尽管它没有提供debfoster
在这种情况下找到的所有依赖项。(例如debfoster
发现tcpdump
依赖于apt
via libssl1.0.0
, debconf
and apt-utils
,但apt-rdepends
不依赖。)
海报写道(在评论中):
我想要 tcpdump 依赖的所有包,以及它们的所有依赖项,以及它们的所有依赖项,等等。
apt-rdepends
做这个。注意:“rdepends”中的“r”表示“递归”。
apt-rdepends -p tcpdump
Reading package lists... Done
Building dependency tree
Reading state information... Done
tcpdump
Depends: libc6 (>= 2.7) [Installed]
Depends: libpcap0.8 (>= 1.0.0) [Installed]
Depends: libssl0.9.8 (>= 0.9.8m-1) [NotInstalled]
libc6
Depends: libc-bin (= 2.11.3-4) [Installed]
Depends: libgcc1 [Installed]
libc-bin
libgcc1
Depends: gcc-4.4-base (= 4.4.5-8) [NotInstalled]
Depends: libc6 (>= 2.2.5) [Installed]
gcc-4.4-base
libpcap0.8
Depends: libc6 (>= 2.7) [Installed]
libssl0.9.8
Depends: debconf (>= 0.5) [Installed]
Depends: debconf-2.0 [NotInstalled]
Depends: libc6 (>= 2.7) [Installed]
Depends: zlib1g (>= 1:1.1.4) [Installed]
debconf
Depends: debconf-english [NotInstalled]
Depends: debconf-i18n [Installed]
PreDepends: perl-base (>= 5.6.1-4) [Installed]
debconf-english
Depends: debconf [Installed]
debconf-i18n
Depends: debconf [Installed]
Depends: liblocale-gettext-perl [Installed]
Depends: libtext-charwidth-perl [Installed]
Depends: libtext-iconv-perl [Installed]
Depends: libtext-wrapi18n-perl [Installed]
liblocale-gettext-perl
Depends: libc6 (>= 2.2.5) [Installed]
PreDepends: perl-base (>= 5.10.0-25) [Installed]
PreDepends: perlapi-5.10.0 [NotInstalled]
perl-base
PreDepends: dpkg (>= 1.14.20) [Installed]
PreDepends: libc6 (>= 2.4) [Installed]
dpkg
PreDepends: coreutils (>= 5.93-1) [Installed]
PreDepends: libbz2-1.0 [Installed]
PreDepends: libc6 (>= 2.6) [Installed]
PreDepends: libselinux1 (>= 1.32) [Installed]
PreDepends: xz-utils [Installed]
PreDepends: zlib1g (>= 1:1.1.4) [Installed]
coreutils
PreDepends: libacl1 (>= 2.2.11-1) [Installed]
PreDepends: libattr1 (>= 2.4.41-1) [Installed]
PreDepends: libc6 (>= 2.6) [Installed]
PreDepends: libselinux1 (>= 1.32) [Installed]
libacl1
Depends: libattr1 (>= 2.4.41-1) [Installed]
Depends: libc6 (>= 2.2.5) [Installed]
libattr1
Depends: libc6 (>= 2.2.5) [Installed]
libselinux1
Depends: libc6 (>= 2.3.4) [Installed]
libbz2-1.0
Depends: libc6 (>= 2.3) [Installed]
xz-utils
Depends: libc6 (>= 2.6) [Installed]
Depends: liblzma2 (>= 5.0.0) [NotInstalled]
liblzma2
Depends: libc6 (>= 2.2.5) [Installed]
zlib1g
Depends: libc6 (>= 2.2.5) [Installed]
perlapi-5.10.0
libtext-charwidth-perl
Depends: libc6 (>= 2.2.5) [Installed]
Depends: perl-base (>= 5.10.0-13) [Installed]
Depends: perlapi-5.10.0 [NotInstalled]
libtext-iconv-perl
Depends: libc6 (>= 2.2.5) [Installed]
Depends: perl-base (>= 5.10.0-13) [Installed]
Depends: perlapi-5.10.0 [NotInstalled]
libtext-wrapi18n-perl
Depends: libtext-charwidth-perl [Installed]
debconf-2.0
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5596 次 |
最近记录: |