Чтобы узнать, что послужило причиной установки данного пакета, я хотел бы получить список пакетов, которые зависят от этого пакета. Я не мог найти ничего очевидного в man dpkg
.
201
Чтобы узнать, что послужило причиной установки данного пакета, я хотел бы получить список пакетов, которые зависят от этого пакета. Я не мог найти ничего очевидного в man dpkg
.
aptitude
, что-то, что не было установлено по умолчанию в течение многих лет. В 2017 году все на Ubuntu еще естьapt-cache
. Любой, кто следует за связанным вопросом, заблудится в дискуссии о программе, которую мало кто будет иметь.Ответы:
apt-cache rdepends packagename
должен делать то, что ты хочешьисточник
apt-cache rdepends tofrodos
подтвердил подозрение, что он был установлен другим пакетом (устаревшимdos2unix
).--installed
, вывод даже полезен для пакетов, которые могут использоваться многими другими:apt-cache rdepends --installed packagename
sudo apt rdepends packagename
(обратите внимание, что он не использует apt-cache, а просто apt)У aptitude есть довольно хороший способ справиться с этим:
По умолчанию в нем указывается только «самая установленная, самая сильная, самая трудная, самая короткая» причина, но вы можете использовать
aptitude -v why
ее для вывода всего, что найдете.источник
reverse-depends
вubuntu-dev-tools
ubuntu-dev-tools
в Debianopenssh-server
рекомендуется (и поэтому установлен)xauth
на автономном сервере, перетаскивая сотни зависимостей x11 и десятки бесполезных обновлений в месяц. Вот в чем проблема с автоматическим управлением пакетами!Пример:
источник
apt showpkg <pkgname>
Существует несколько способов, каждый из которых показывает разные результаты.
Для подробного просмотра полного обратного дерева зависимостей;
В качестве альтернативы;
Или краткий список:
источник
rdepends
показывает в этом дереве?apt-rdepends php7.0-fpm
показываетsed
.sed
не зависит от PHP, не говоря уже о PHP FPM.apt-rdepends -r yourPackageNameHere
Самый простой вариант по-прежнему:
который не требует установки какого-либо пакета.
источник
apt-cache
вывода s. Это именно то, что мне было нужно сейчас (отладка несовместимости с glibc 2.28, так что голосование)В дополнение к другим хорошим ответам, APT / APT-GET
-s
выполняет «симуляцию» удаления (или установки).sudo apt -s remove <pkgname>
Использование
-s
или--simulated
для удаления (или установки) пакетов обычно перечисляет любые затронутые зависимости. Он будет показывать потерянные пакеты при удалении или необходимые зависимости при установке без фактического выполненияinstall
илиremove
. Только для информации.источник
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?