Pour chaque paquet que j'ai installé, je voudrais savoir quels paquets seraient installés si je le désinstalle. Un exemple de la sortie dont j'ai besoin est ( package: list of deps
):
abc: foo bar
bcd: baz abc
bdd: baz fuubar
Ajouter
Si je vérifie ce qui serait réellement supprimé si je supprime le package en ppp
utilisant apt-get
:
$ echo $(apt-get --dry-run remove ppp | grep '^Remv ' | cut -d' ' -f2)
gnome-ppp mint-meta-xfce network-manager-pptp-gnome network-manager-pptp wvdial pppoeconf pppoe pptp-linux pppconfig ppp
Je vois que c'est différent de ce que apt-cache
me donne show (qui je ne pense pas inclure les dépendances récursives):
$ apt-cache show ppp | grep '^Breaks: '
Breaks: network-manager (<= 0.8.0.999-1), network-manager-pptp (<= 0.8.0.999-1), pppdcapiplugin (<= 1:3.9.20060704+dfsg.1-1)
Annexe 2
Est-ce dpkg --get-selections | cut -f1
un moyen fiable d'obtenir une liste des packages installés pour répéter?
apt-get --dry-run remove
semble fondamentalement correcte. Certains packages installés automatiquement ne sont nécessaires que pour les packages installés automatiquement qui ne sont nécessaires que par le package que vous supprimez. Est-ce pour cela que vous ne considérez pas cela comme une réponse appropriée?Réponses:
Vous avez posé quelques questions différentes ici, j'espère pouvoir au moins vous aider sur une ou deux.
Pour répertorier tous les packages installés, utilisez
dpkg
pour afficher dans une liste séparée par champsPour obtenir simplement la liste des packages, sans champs supplémentaires, vous pouvez donc la rediriger ailleurs.
Par exemple, si je veux supprimer un ancien noyau,
Le moyen le plus simple de parcourir toutes les dépendances inutiles est d'utiliser
debfoster
. Il s'exécute de manière interactive et passe par ce que vous voulez, leurs dépendances et peut supprimer ou répertorier ce qui n'est pas une dépendance récursive.Pour répertorier toutes les dépendances récursives d'un package spécifique,
Une fois que vous avez exécuté,
debfoster
vous pouvez également vérifier les dépendances d'un package,Un très bon moyen de lister les paquets «orphelins», c'est avec
deborphan
. Exécutezdeborphan
sans options, et il répertoriera tous les packages «orphelins». Un «orphelin» est un package dont rien ne dépend et que vous n'avez pas explicitement installé.J'aime aussi nettoyer tous les paquets «orphelins», après une nouvelle installation. Après avoir supprimé des packages spécifiques, vous pouvez tout rater
apt-get autoremove --purge
avec,Enfin, parfois, vous ne le faites pas
--purge
et vous vous retrouvez avec des `` restes '' de paquets, les nouvelles versions deapt-get
peuvent les supprimer automatiquement. Pour supprimer tous les «restes» des packages désinstallés exécutés,Si vous n'avez pas la nouvelle version de
apt-get
, vous pouvez toujours les supprimer avec ces commandes. Ils font une erreur s'il n'existe aucun fichier «restant», il semble que l'autoclean peut parfois en manquer.la source
listera (entre autres) ces dépendances (d'exécution). Ceci est généralement suffisant, sauf si vous l'introduisez dans une machine pour un traitement ultérieur. Si vous le voulez exactement dans le format que vous avez indiqué, vous devrez probablement écrire un script.
la source
apt-get remove -s packagename
. La liste de tous les packages que vous avez installés est justedpkg -l
.apt-get remove -s packagename
!Je pense que vous devez continuer et créer une boucle pour la même chose:
Bien sûr, supprimez les en-têtes.
la source
apt-cache depends --recurse libtext