J'ai récemment lu beaucoup de questions/réponses/opinions sur la suppression de paquets et de dépendances. Il y a beaucoup de façons différentes de le faire, certaines étant trop compliquées et d'autres insuffisantes/incomplètes. Je veux demander ici, à un endroit donné, ce que les autres pensent, c’est la meilleure façon de supprimer un paquet et tout ce qui inclut les configurations, les dépendances et les configurations des dépendances. Je vous proposerai également ma méthode issue de nombreux essais et erreurs ainsi que de l'arrachage de cheveux.
Avertissement: Cela peut supprimer les paquetages que vous pourriez toujours vouloir. Si cela se produit, réinstallez-les simplement. Mais honnêtement, lorsque vous installez/désinstallez quelque chose qui va apporter de gros changements à votre système, pourquoi ne pas commencer par la sauvegarde.
La méthode la plus complète que j'ai jamais mise au point pour supprimer complètement un paquet PLUS ses dépendances PLUS toutes les configurations, y compris celles des dépendances et faire un petit ménage, est la suivante: PACKAGENAME est le paquet principal à enlever:
Déconnectez-vous du bureau et appuyez sur Ctrl + Alt + F1, puis connectez-vous à TTY1 et exécutez les commandes suivantes:
Sudo apt-get purge <PACKAGENAME>
Sudo apt-get purge $(apt-cache depends <PACKAGENAME> | awk '{ print $2 }' | tr '\n' ' ')
Sudo apt-get autoremove
Sudo apt-get update
Sudo apt-get check
Sudo apt-get -f install
Sudo apt-get autoclean
Redémarrer si nécessaire
Sudo shutdown -r now
Alors que se passe-t-il dans la deuxième ligne? Les pipes prennent la sortie d'apt-cache et la reformatent. Le premier tube awk '{print $ 2}' prend la sortie d'apt-cache dépend et affiche, ou "echo", uniquement la deuxième colonne. Sans cela, vous auriez également dans la liste une autre colonne qui est le type de dépendance, c'est-à-dire "dépend", "recommande", etc. Ensuite, le deuxième tuyau tr '\ n' '' prend ce résultat et supprime ou tronque (par conséquent tr) les nouvelles lignes et les remplace par un espace séparant les noms. Tout cela retourne une liste "délimitée par des espaces" des noms de tous les packages de dépendance de PACKAGENAME compatibles avec le format, à utiliser avec plusieurs entrées de package pour purger l'option-commande.
Cela fonctionne particulièrement bien pour les méta-paquets. Je lance la dernière commande "Sudo apt-get -f install" à la fin pour rechercher d'éventuels paquets cassés et les réparer après avoir effectué autant de modifications en même temps. Je le fais surtout chaque fois que j'ajoute un "DE" et que je veux revenir en arrière. Récemment, j’ai utilisé cela après avoir installé GNOME et il a même corrigé le fait que seule la purge de Gnome avec le retrait automatique après avoir laissé mon GRUB changé et laissé l’option de connexion dans le DM. Lorsque j’ai essayé lubuntu-desktop, il a corrigé certains conflits et supprimé les entrées de la connexion DM laissées par la purge et le retrait automatique.
Une méthode similaire qui fonctionne bien, est probablement plus sûre, mais ne comprend toujours pas:
Sudo apt-get --purge autoremove PACKAGENAME
Ce qui peut ou peut ne pas avoir besoin d'être suivi avec:
Sudo apt-get update
Sudo apt-get check
Sudo apt-get -f install
Sudo apt-get autoclean
J'utilise aussi aptitude purge
pour cela:
Sudo aptitude purge <PACKAGENAME>
Cette commande