Afin de rechercher la cause de l'installation d'un package donné, j'aimerais obtenir une liste des packages qui dépendent de ce package. Je n'ai rien trouvé d'évident dans man dpkg
.
201
Afin de rechercher la cause de l'installation d'un package donné, j'aimerais obtenir une liste des packages qui dépendent de ce package. Je n'ai rien trouvé d'évident dans man dpkg
.
aptitude
, quelque chose qui n'a pas été installé par défaut depuis des années. En 2017, tout le monde sur Ubuntu a toujoursapt-cache
. Toute personne qui suit la question liée va se perdre dans une discussion sur un programme que peu auront.Réponses:
apt-cache rdepends packagename
devrait faire ce que tu veuxla source
apt-cache rdepends tofrodos
confirmé la suspicion qu'il a été installé par un autre paquet (le obsoleteddos2unix
).--installed
, le résultat est même utile pour les paquets pouvant être utilisés par beaucoup d'autres:apt-cache rdepends --installed packagename
sudo apt rdepends packagename
(Notez qu'il est de ne pas utiliser apt-cache , mais simplement apt)aptitude a un moyen assez agréable de gérer ceci:
Par défaut, il ne répertorie que la raison "la plus installée, la plus forte, la plus étroite, la plus courte", mais vous pouvez l'utiliser
aptitude -v why
pour afficher tout ce qu'il trouve.la source
reverse-depends
dansubuntu-dev-tools
ubuntu-dev-tools
est dans Debianopenssh-server
recommandé (et donc installé)xauth
sur un serveur sans tête, en faisant glisser des centaines de dépendances x11 et des dizaines de mises à jour inutiles par mois. C'est le problème de la gestion automatisée des paquets!Exemple:
la source
apt showpkg <pkgname>
Il existe plus d'une façon, chaque méthode affichant une sortie différente.
Pour une vue détaillée de l'arbre de dépendance inverse complet;
Alternativement
Ou une liste concise:
la source
rdepends
dans cet arbre?apt-rdepends php7.0-fpm
montresed
.sed
ne dépend pas de PHP, encore moins de PHP FPM.apt-rdepends -r yourPackageNameHere
L'option la plus simple est toujours:
ce qui ne vous oblige à installer aucun paquet.
la source
apt-cache
sortie. C’est exactement ce dont j’avais besoin pour le moment (déboguer une incompatibilité glibc 2.28, donc un vote positif)En plus d’autres bonnes réponses, un APT / APT-GET
-s
effectue une suppression (ou une installation) "simulée".sudo apt -s remove <pkgname>
Utiliser
-s
ou--simulated
pour supprimer (ou installer) des paquetages listera normalement toutes les dépendances affectées. Il montrera les paquets orphelins lors de la suppression, ou les dépendances nécessaires lors de l'installation sans exécuter réellement leinstall
ouremove
. Informatif seulement.la source
apt remove -s php7.0-fpm
montreThe following additional packages will be installed: apache2 apache2-bin apache2-data libapache2-mod-php7.0 libaprutil1-dbd-sqlite3 libaprutil1-ldap liblua5.1-0
. Pourquoi Apache s’installe-t-il si je supprime PHP FPM?