Je sais comment supprimer les dépendances d'un package désinstallé? et j'ai essayé
apt-get autoremove
mais cela ne supprime pas les dépendances recommandées / suggérées par d'autres packages.
Autrement dit, si j'installe un package X qui recommande Y, mais je n'installe pas Y, puis j'installe le package Z qui dépend de Y. et plus tard je fais
apt-get remove --auto-remove Z
alors Y n'est pas automatiquement supprimé même si rien n'en dépend. (X "ramassé" Y, même si cela n'en dépend pas).
apt
package-management
user2809402
la source
la source
Réponses:
Si vous souhaitez supprimer les packages recommandés de votre système, même s'il existe encore des packages installés qui les recommandent (ou les suggèrent), mettez ce qui suit dans le fichier
/etc/apt/apt.conf.d/99_norecommends
(créez-le):La documentation de ces options est ici .
Ensuite, la prochaine exécution d'apt devrait les supprimer tous. Si ce n'est pas le cas, lancez
aptitude
et tapez get gencore.Cette configuration désactive également l'installation automatique des packages recommandés lors de l'utilisation
apt-get
. Pouraptitude
cela, vous pouvez le faire à partir de l'interface graphique de la console, menu Options> Préférences> "Installer automatiquement les packages recommandés" (décochez-le).la source
InstallRecommends
handicap. Pour mémoire, il a été désactivé par défaut jusqu'à la sortie de Debian Squeeze, c'est-à-dire depuis février 2011 (je ne sais pas pour Ubuntu). De plus, il se peut que vous n'ayez pas besoin de la même configuration sur un serveur ou une configuration de bureau.Remplacement des options APT
Contrairement aux dépendances, les packages "recommandés" ou "suggérés" installés automatiquement peuvent être ignorés par
apt-get autoremove
.Comme décrit ailleurs, ce comportement d'APT peut être modifié dans la configuration.
De même, la configuration de la
apt-get
commande peut être temporairement modifiée via l'-o
option de ligne de commande.Voici comment vous forceriez le retrait automatique pour supprimer les paquets restants "recommandés" et "suggérés", en plus des dépendances inutilisées.
Mise en garde!
Certaines fonctionnalités peuvent être perdues. Soyez prêt à enquêter et à réinstaller les choses. Il peut être plus facile de laisser ces packages seuls.
Autres options
Pour désinstaller les packages «recommandés» et «suggérés» uniquement pour un package particulier, consultez le journal d'historique d'apt.
la source
apt-get
l'-s
option et le tuyau versgrep ^Remv
- c'est donc la commande:apt-get autoremove -s -o APT::Autoremove::RecommendsImportant=0 -o APT::Autoremove::SuggestsImportant=0 | grep ^Remv
En fait, la commande est:
Mais cela a un truc! Si l'une des dépendances a d'autres packages installés précédemment qui les recommandent / suggèrent, apt ne les supprimera pas.
Vous n'avez pas spécifié de quel paquet il s'agissait mais par exemple, si j'installe le plugin IcedTea, il installerait Java / OpenJRE par dépendances. Si je les désinstalle en utilisant,
sudo apt-get autoremove icedtea-7-plugin
vous remarquerez que cela ne supprimera pas Java / OpenJRE, puisque LibreOffice suggère également les packages.Donc, pour les supprimer, vous devez être trop précis sur le package que vous souhaitez désinstaller, ce qui
autoremove
n'est pas normal :De cette façon, vous pouvez être sûr que votre colis sera supprimé.
Vous pouvez également utiliser deborphan pour supprimer certaines dépendances.
la source
deborphan
mais deborphan peut encore manquer certains packages. Vous pouvez utiliser lesDebug::
options et également consulter mes autres réponses à ce sujet . Vous pouvez également utiliser le--no-install-recommends
, mais apt-get n'installe pas les packages suggérés par défaut.Bon, si vous voulez supprimer un paquet
<Z>
avec des dépendances, tapez simplement:la source
autoremove
échelle du système. Ainsi, chaque fois que vous appelezautoremove
, cela supprimera tous les packages inutilisés de votre système. L'installation d'un packageautoremoving
ne ramènera généralement pas le système au même état et laissera à la place un tas de packages «restants».