J'ai récemment installé Arch Linux et constaté que je ronge assez rapidement beaucoup de stockage. Pour une raison quelconque, j'ai déjà utilisé 17 Go en à peine 2 semaines. Je n'ai pas beaucoup de logiciels installés, alors je suis persuadé que tous les anciens paquets sont conservés quelque part.
Pour supporter cela, j’ai remarqué que si j’installais un paquet, le supprimais puis le réinstallait, pacman se contentait de le décompresser et de réinstaller le logiciel sans devoir le télécharger à nouveau.
Après avoir installé mon système de base, avant le logiciel supplémentaire, j'ai utilisé environ 2 Go environ. Depuis, je n’ai 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 plus de 15 Go.
Est-ce que je me trompe complètement ou Arch ne supprime-t-il jamais les anciens paquets lors du téléchargement / de la mise à niveau vers de nouvelles versions?
Si tel est le cas, comment puis-je supprimer ces packages non utilisés?
Aussi, quand je supprime les paquets installés que j'utilise pacman -R ...
la source
cron
ou d'systemd
emploi.Réponses:
Non, pacman ne supprime pas les anciens paquets de votre cache (
/var/cache/pacman/pkg
), donc, avec le temps, il peut se remplir.Vous pouvez adopter deux approches pour vider le cache: la brute force one avec
pacman -Sc
:Ou, pour une approche plus nuancée, vous pouvez utiliser l'un des utilitaires fournis avec pacman-contrib
paccache
:Par défaut,
paccache
toutes les versions d'un package installé sont supprimées, à l'exception des trois dernières. Toutefois, vous pouvez modifier ce nombre à l'aide du-k, --keep
commutateur. Il existe également un-d, --dryrun
commutateur pour prévisualiser vos modifications. Voirpaccache --help
pour tous les commutateurs.Le paquet pacman-contrib contient un certain nombre d’utilitaires qui facilitent la gestion des paquets. Il est intéressant de tous les examiner et de comprendre leur fonctionnement et de faciliter leur utilisation d’Arch. Vous pouvez voir la liste complète avec:
la source
--clean
commutateur: cela empêche de revenir facilement au paquet de travail, au cas où un problème surviendrait avec la dernière version (par exemple, le nouveau paquet repose sur une version plus ancienne de lib ou Python; même avec le dernier matériel noyau). Je trouve installer le cache de pacman ailleurs qu’une/
bien meilleure solution (il suffit de définir le chemin dans /etc/pacman.conf ).paccache
vous pouvez l'obtenir en installant lepacman-contrib
paquet.$ pacman -Ql pacman-contrib | awk -F"[/ ]" '/\/usr\/bin\/./ {print $NF}'
d'éviter une ligne blanche dans les résultats? ;-)rm -rf /var/cache/pacman/pkg
c'était la mauvaise chose à faireVotre cache de paquets est en
/var/cache/pacman/pkg/
.REMARQUE: les
pacman
packages ont été mis à jour en 2018 et nécessitent en outre une installationpacman-contrib
pour utiliser des scripts / outils tels quepaccache
décrits ci-dessous.Faire:
Pour faire un
-dryrun
et voir ce qu'une exécution de cet utilitaire pourrait supprimer la prochaine fois:Pour supprimer les packages en cache. 17gbs ne sonne raide. Assurez-vous de ne pas avoir de bûches fugitives. Faire:
Ou même simplement:
Pour une idée plus générale de ce qui se passe.
la source
pacman -Scc
fait ce que vous demandez, mais ce n'est pas recommandé. Du wikiPar ailleurs, lorsque je désinstalle des packages, je préfère les utiliser
pacman -Rnsc
, car cela supprime également les dépendances des packages ainsi que les packages qui dépendent de celle-ci. Comme toujours, lisez attentivement les paquets supprimés, car vous pourriez très facilement laisser notre système inutilisable.la source
rm /var/cache/pacman/pkg/*
? Ou - comme au moins par défaut, je suppose. Il y a/tmp
longtemps, j'ai déplacé mon cache pkg sur la plupart des machines et laissé lesquid
soin de gérer un seul cache central sur le routeur. Pas aussi facile quepacman -Scc
si.Je suggère fortement l'utilisation de
paccache
au lieu depacman -Sc
. Il existe même un indicateur très efficace pour supprimer sélectivement les versions des packages désinstallés-u
. Les drapeaux depaccache
I recommend sont (dans le cadre de paccache v5.0.2):-d
,--dryrun
: effectue un essai, ne trouvant que des packages candidats-r
,--remove
: supprimer les packages candidats-u
,--uninstalled
: packages désinstallés cibles uniquement-k
,--keep <num>
: conserve "num" de chaque paquet dans le cache (par défaut: 3)Exemple: recherchez les versions de cache restantes des packages désinstallés
la source
-u
depaccache
. Gnome, KDE ou Texlive sont des exemples de gros packages pour vous donner une idée.-k
drapeau était nouveau pour moi et pas très bien expliqué dans la boîte de dialogue d’aide; son utilisation ici était donc utile.