Рекурсивные зависимости

5

Я могу показать зависимости пакетов, подобные этому

apt-cache show wget | grep ^Depends

Однако я также хотел бы указать зависимости для зависимостей, поэтому выход будет что-то вроде этого

wget
  libc6
    libgcc1
      gcc-4.9-base
  libidn11
  libssl1.0.0
    debconf
  libuuid1
    passwd
      libpam0g
      libselinux1
      libsemanage1
      libpam-modules
      debianutils
  zlib1g

Этот пример имеет глубину 4, но я хотел бы, чтобы фактическое решение имело полный глубина.     

задан Steven Penny 18.05.2014 в 18:52
источник

1 ответ

5

Иногда вам нужно выяснить все зависимости пакета. В этом руководстве объясняется, как использовать apt-rdepends для рекурсивного перечисления всех зависимостей пакета Debian / Ubuntu.

Я не гарантирую, что это сработает для вас!

1 Установка apt-rdepends

apt-rdepends можно установить следующим образом:

apt-get install apt-rdepends

Если вы находитесь на Ubuntu и не вошли в систему с правами root, используйте

sudo apt-get install apt-rdepends

вместо.

2 Использование apt-rdepends

apt-rdepends можно использовать следующим образом:

apt-rdepends <packagename>

Например, чтобы узнать все зависимости пакета wget, запустите:

apt-rdepends wget

Это пример вывода:

[email protected]:~$ apt-rdepends wget
Reading package lists... Done
Building dependency tree
Reading state information... Done
wget
  Depends: dpkg (>= 1.15.4)
  Depends: install-info
  Depends: libc6 (>= 2.11)
  Depends: libssl1.0.0 (>= 1.0.0)
dpkg
  PreDepends: coreutils (>= 5.93-1)
  PreDepends: libbz2-1.0
  PreDepends: libc6 (>= 2.11)
  PreDepends: libselinux1 (>= 1.32)
  PreDepends: xz-utils
  PreDepends: zlib1g (>= 1:1.1.4)
coreutils
  PreDepends: libacl1 (>= 2.2.11-1)
  PreDepends: libattr1 (>= 2.4.41-1)
  PreDepends: libc6 (>= 2.7)
  PreDepends: libselinux1 (>= 1.32)
libacl1
  Depends: libattr1 (>= 2.4.41-1)
  Depends: libc6 (>= 2.4)
  PreDepends: multiarch-support
libattr1
  Depends: libc6 (>= 2.4)
  PreDepends: multiarch-support
libc6
  Depends: libc-bin (= 2.13-20ubuntu5)
  Depends: libgcc1
  Depends: tzdata
libc-bin
libgcc1
  Depends: gcc-4.6-base (= 4.6.1-9ubuntu3)
  Depends: libc6 (>= 2.2.5)
  PreDepends: multiarch-support
gcc-4.6-base
multiarch-support
  Depends: libc6 (>= 2.3.6-2)
tzdata
  Depends: debconf (>= 0.5)
  Depends: debconf-2.0
debconf
  PreDepends: perl-base (>= 5.6.1-4)
perl-base
  PreDepends: dpkg (>= 1.14.20)
  PreDepends: libc6 (>= 2.11)
debconf-2.0
libselinux1
  Depends: libc6 (>= 2.8)
  PreDepends: multiarch-support
libbz2-1.0
  Depends: libc6 (>= 2.4)
xz-utils
  Depends: libc6 (>= 2.7)
  Depends: liblzma2 (>= 5.0.0)
liblzma2
  Depends: libc6 (>= 2.4)
zlib1g
  Depends: libc6 (>= 2.4)
  PreDepends: multiarch-support
install-info
  Depends: libc6 (>= 2.4)
libssl1.0.0
  Depends: debconf (>= 0.5)
  Depends: debconf-2.0
  Depends: libc6 (>= 2.7)
  Depends: zlib1g (>= 1:1.1.4)
  PreDepends: multiarch-support
[email protected]:~$

Для большинства пакетов выход еще длиннее и может не соответствовать вашему экрану. В этих случаях вы можете вывести вывод на большее (или меньше), например. следующим образом:

  

apt-rdepends apache2 | более      

apt-rdepends apache2 | меньше

Скопировано из HowToForge

    
ответ дан skarz 18.05.2014 в 19:03
источник