Nettoyer intelligemment le cache de paquets Pacman
Vous êtes certainement comme moi, si vous avez un SSD de petite taille, vous avez constitué une racine / relativement petite pour laisser tout à /home. Bien. Seulement, il y a un dossier sensible dans cette racine, c’est /var, et, plus spécifiquement sur une Manjaro/Arch, /var/cache/pacman/pkg/. Problème, si on le vide, on perd un avantage qu’a pacman sur apt par exemple, le fait de pouvoir revenir en arrière sur la version d’un paquet. Vider le dossier nous prive donc d’une fonction pratique qui m’a déjà servi dans le passé. Voici comment faire le ménage plus intelligemment.
L’astuce réside dans le paquet pkgcacheclean, qui fournit l’utilitaire en ligne de commande du même nom, et qu’il faut donc installer en premier lieu. Avant de lancer une mise à jour intégrale du système, vous pouvez lancer pkgcacheclean 1, il conservera la dernière version en date du paquet, et supprimera les précédents. Regardons l’espace que j’ai pu gagner récemment grâce à ça :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
[root@Seboss666LTP seboss666]# df -h Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur dev 3,9G 0 3,9G 0% /dev run 3,9G 1,4M 3,9G 1% /run /dev/sda1 29G 19G 9,3G 67% / tmpfs 3,9G 156K 3,9G 1% /dev/shm tmpfs 3,9G 0 3,9G 0% /sys/fs/cgroup tmpfs 3,9G 8,0K 3,9G 1% /tmp /dev/sda2 82G 68G 14G 84% /home tmpfs 792M 16K 792M 1% /run/user/1000 [root@Seboss666LTP seboss666]# pkgcacheclean 1 [root@Seboss666LTP seboss666]# df -h Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur dev 3,9G 0 3,9G 0% /dev run 3,9G 1,4M 3,9G 1% /run /dev/sda1 29G 15G 13G 55% / tmpfs 3,9G 156K 3,9G 1% /dev/shm tmpfs 3,9G 0 3,9G 0% /sys/fs/cgroup tmpfs 3,9G 16K 3,9G 1% /tmp /dev/sda2 82G 68G 14G 84% /home tmpfs 792M 16K 792M 1% /run/user/1000 |
De 9.3Go à 13Go, soit 3.7Go de gagné. Et tout ça, en conservant la possibilité de revenir en arrière sur certains packages, ce que ne permet pas à un certain Windows pour qui vous supprimerez tous les fichiers si vous passez par l’utilitaire de nettoyage. C’est pas pratique ça ?
J’imagine qu’avec pacman/yaourt, il doit être possible de faire un tel ménage en usant de switches assez barbares (un peu comme le nettoyage de paquets orphelins), je vous laisse le loisir de vous faire mal au crâne.
Tiens d’ailleurs je disais qu’apt n’était pas capable, c’est un peu faux, mais c’est beaucoup moins facile apparemment si j’en crois cette réponse en anglais (certes pour Ubuntu). Si vous avez une autre méthode, je serai ravi de la lire 🙂
Sinon, si on a une bonne connexion internet, on peut se passer de ce cache et utilise dowgrader (AUR), qui permet de revenir en arrière sur un package à partir de ALA. En tout cas sous Arch. Sous Manjaro, cela fonctionne aussi mais je ne sais pas si tout les paquets sont compatibles…
Perso, j’utilise simplement paccache. Il est intégré dans le paquet pacman et ne nécessite donc pas une installation supplémentaire.
cf. https://wiki.archlinux.org/index.php/pacman#Cleaning_the_package_cache