Чтобы выяснить, что вызвало установку данного пакета, я хотел бы получить список пакетов, которые зависят от этого пакета. Я не мог найти ничего очевидного в man dpkg
.
apt-cache rdepends packagename
должен делать то, что ты хочешь
у aptitude есть довольно хороший способ справиться с этим:
$ aptitude why bashi foomatic-filters PreDepends bash (>= 2.05)
По умолчанию в нем указана только причина "самая установленная, самая сильная, самая плотная, самая короткая", но вы можете использовать aptitude -v why
чтобы заставить его выводить все, что он находит.
apt-cache showpkg <pkgname>
Пример:
apt-cache showpkg lightdm
Самый простой вариант по-прежнему:
apt rdepends package-name
который не требует от вас установки какого-либо пакета.
Существует более одного способа, и каждый метод показывает разные выходные данные.
Для подробного просмотра полного обратного дерева зависимостей;
aptitude install apt-rdependsapt-rdepends -r bash
Альтернативно;
apt-cache showpkg bash
Или краткий список:
apt-cache rdepends bash
В дополнение к другим хорошим ответам, an apt/apt-get -s
выполняет "имитацию" удаления (или установки).
sudo apt -s remove <pkgname>
С помощью -s
или --simulate
чтобы удалить (или установить) пакеты, обычно перечисляются все затронутые зависимости. Он покажет потерянные пакеты при удалении или необходимые зависимости при установке, фактически не выполняя install
или remove
. Только для информации.
С reverse-depends
команда из пакета: ubuntu-dev-tools
reverse-depends libjs-openlayers# For build depends searchreverse-depends -b libjs-openlayers
Reverse-Recommends* gis-osmReverse-Depends* cyclograph* phpmyadmin* sumo-toolsPackages without architectures listed are reverse-dependencies in: amd64, arm64, armhf, i386, ppc64el, s390x
Все ответы на старый вопрос вращаются вокруг “aptitude”, чего-то, что не было установлено по умолчанию в течение многих лет. В 2017 году у всех пользователей Ubuntu по-прежнему есть “apt-cache”. Любой, кто следит за связанным вопросом, заблудится в обсуждении программы, которая будет у немногих.