Comment supprimer les anciens packages installés par pacman dans Arch Linux?

J'ai récemment installé Arch Linux et constaté que je mange beaucoup de memory assez rapidement. Pour une raison quelconque, j'ai déjà utilisé 17 Go dans environ 2 semaines. Je n'ai pas beaucoup de logiciel installé donc je suis amené à croire que tous les anciens packages sont maintenus quelque part.

Pour le supporter, j'ai remarqué que si j'installais un package, enlevez ce package, puis réinstallez-le pacman qui décompresse et réinstalle le logiciel sans devoir le re-download.

Après avoir installé mon système de base, avant le logiciel supplémentaire, j'ai utilisé environ 2 Go ou peut-être. Je n'ai depuis installé que Matlab, Skype, Wine et quelques autres petits programmes. Bien sûr, j'ai également installé des bibliothèques manquantes et autres, mais pas près de 15 Go de valeur.

Ai-je complètement tort ici ou Arch ne supprime-t-il jamais les anciens packages lors du téléchargement / mise à jour vers de nouvelles versions?

Si oui, comment puis-je supprimer ces packages non utilisés?

Aussi, quand je supprime les packages installés j'utilise pacman -R ...

Non, pacman ne supprime pas les anciens packages de votre cache ( /var/cache/pacman/pkg ), donc, au fil du time, il peut se remplir.

Vous pouvez adopter deux approches pour effacer le cache: la force brute avec pacman -Sc :

-c, –clean
Supprimez les packages qui ne sont plus installés dans le cache ainsi que les bases de données de synchronisation actuellement inutilisées pour libérer de l'espace disque. Lorsque pacman télécharge des packages, il les enregistre dans un directory de cache. De plus, les bases de données sont enregistrées pour chaque DB de synchronisation que vous téléchargez et ne sont pas supprimées même si elles sont supprimées du file de configuration pacman.conf (5). Utilisez un commutateur –clean pour supprimer uniquement les packages qui ne sont plus installés; utilisez deux pour supprimer tous les files du cache. Dans les deux cas, vous aurez une option oui ou non pour supprimer les packages et / ou les bases de données téléchargées inutilisées.

Ou, pour une approche plus nuancée, vous pouvez utiliser l'un des utilitaires paccache avec pacman, paccache :

paccache est un utilitaire flexible de nettoyage de cache pacman, qui a de nombreuses options pour aider à contrôler combien, et quoi, est supprimé de n'importe quel directory contenant des archives tar du package pacman.

Par défaut, paccache supprimera toutes les versions sauf les trois dernières d'un package installé, mais vous pouvez changer ce numéro avec le commutateur -k, --keep . Il y a aussi un commutateur -d, --dryrun pour prévisualiser vos modifications. Voir paccache --help pour tous les commutateurs.

En outre : pacman est livré avec un certain nombre d'outils utiles, il vaut la peine de les regarder tous et de comprendre comment ils fonctionnent et peuvent rendre Arch plus facile. Vous pouvez voir la list complète avec:

 pacman -Ql pacman | awk -F"[/ ]" '/\/usr\/bin/ {print $5}' 

Votre cache de packages se trouve dans /var/cache/pacman/pkg/ .

Faire:

 paccache -d 

Pour faire un -dryrun et voir ce qu'une exécution de cet utilitaire pourrait supprimer lorsque vous faites ensuite:

 paccache -r 

Pour supprimer les packages mis en cache. 17gbs sonores raides. Assurez-vous que vous n'avez pas de journaux de fuite. Faire:

 du -h /var/log 

Ou même juste:

 du -h /var 

Pour une idée plus générale de ce qui se passe.

pacman -Scc fait ce que vous requestz, mais ce n'est pas recommandé. Du Wiki

Il est également possible de vider complètement le dossier cache avec pacman -Scc , mais le faire est considéré comme une mauvaise pratique car, en plus de ce qui précède, il empêche également de réinstaller un package directement depuis le dossier cache en cas de besoin, forçant ainsi pour le redownload. Vous ne devriez jamais l'utiliser à less qu'il y ait un besoin désespéré d'espace disque supplémentaire.

En aparté, quand je désinstalle des packages, je préfère utiliser pacman -Rnsc , car il supprime également les dependencies de packages ainsi que les packages qui dépendent de celui-ci. Comme toujours, lisez attentivement quels packages sont retirés, car vous pourriez facilement quitter notre système dans un état inutilisable.