Вопрос Как перечислить зависимые пакеты (обратные зависимости)?


Чтобы исследовать причину установки данного пакета, я хотел бы получить список пакетов, которые зависят от этого пакета. Я не мог найти ничего очевидного в man dpkg,


138
2018-04-30 13:06


происхождения


Связанный: askubuntu.com/questions/13296/... - Seth♦
Ответы на более старые вопросы вращаются вокруг aptitude, то, что не было установлено по умолчанию в течение многих лет. В 2017 году у всех на Ubuntu все еще есть apt-cache, Любой, кто следит за связанным вопросом, собирается заблудиться в обсуждении программы, которую у некоторых будет. - Lambart


ответы:


apt-cache rdepends packagename должен делать то, что вы хотите


178
2018-04-30 13:07



Отлично! apt-cache rdepends tofrodos подтвердили подозрение что он был установлен другим пакетом (устаревший dos2unix). - l0b0
Хорошая сделка. Я бы хотел, чтобы был рекурсивный вариант. К сожалению, я не знаю, насколько это известно. - RobotHumans
На сегодняшний день (apt версия 0.9.9.1) существует опция --recurse, которая работает с rdepends. - jarno
Если вы добавите --installed, выход даже полезен для пакетов, которые могут использоваться многими другими: apt-cache rdepends --installed packagename - quazgar
Для вывода, почему некоторые из пакетов имеют вертикальную полосу (символ трубы) перед ними? - Vahid Pazirandeh


У aptitude есть довольно хороший способ справиться с этим:

$ aptitude why bash
i   foomatic-filters PreDepends bash (>= 2.05)

По умолчанию в нем перечислены только самые «самые строгие, самые строгие, самые короткие» причины, но вы можете использовать aptitude -v why чтобы он выводил все, что он нашел.


51
2018-05-01 13:41



Похоже, он рассматривает только установленные пакеты, а не все доступные. И это было то, что мне было нужно. - Tuukka Mustonen
Для этого вы хотите reverse-depends в ubuntu-dev-tools - tumbleweed
Как насчет дебиана? - Tuukka Mustonen
ubuntu-dev-tools находится в Debian - tumbleweed
Отлично. я узнал, что openssh-server  рекомендуемые (и, следовательно, установлен) xauth на безгласном сервере, перетаскивая сотни x11 зависимостей и десятков бесполезных обновлений в месяц. В этом проблема с автоматизированным управлением пакетами! - BaseZen


apt-cache showpkg <pkgname> 

Пример:

apt-cache showpkg lightdm

14
2018-04-30 13:11





Существует несколько способов, каждый из которых показывает другой результат.

Подробный обзор полного дерева обратной зависимости;

aptitude install apt-rdepends
apt-rdepends -r bash

В качестве альтернативы;

apt-cache showpkg bash

Или краткий список:

apt-cache rdepends bash

13
2018-05-01 13:52



Что именно делает rdepends показать в этом дереве? apt-rdepends php7.0-fpm шоу sed, sed не зависит от PHP, не говоря уже о PHP FPM. - Dan Dascalescu
Это зависит от обратного, это означает, что PHP зависит от sed. - Erik Berkun-Drevnig
Привет, ребята, на самом деле «apt-rdepends» означает «рекурсивная зависимость». Если вы хотите обратную рекурсивную зависимость, вам нужно ввести: apt-rdepends -r yourPackageNameHere - SebMa


В дополнение к другим хорошим ответам:

sudo apt -s remove <pkgname>

( -s Выполняется «имитированное» удаление. )

Команда удаления обычно перечисляет любые зависимости / программы / библиотеки, которые будут затронуты, или которые могут быть удалены (потеряны) вместе с указанным pkg. (Если они существуют.)


3
2017-08-22 16:53



apt remove -s php7.0-fpm шоу The following additional packages will be installed: apache2 apache2-bin apache2-data libapache2-mod-php7.0 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.1-0, Почему apache будет установлен, если я удалю PHP FPM? - Dan Dascalescu
@DanDascalescu Хм. Может быть, плохой скрипт install / remove для apt pkg или может быть у вас есть другие зависимости, которые устанавливают apache2 как dep (что означает, что требуется веб-сервер), и я считаю, что apache2 является веб-сервером по умолчанию). Может быть, несколько вещей. Просто не уверен. Имеет запах хорошей почты на AskUbuntu, если вы не нашли ответа. - bshea