Si vous avez un petit disque dur et utilisez Arch Linux, il peut être judicieux de vider le cache du système pkg

Effacer le cache du paquet Pacman

Il y a un an et demi J'ai écrit un article sur quelque chose que j'ai aimé à propos de Manjaro, par extension également disponible sur d'autres systèmes basés sur Arch Linux. Je parle de la possibilité de rétrograder un paquet vers une version précédente. Cela est en partie possible grâce à la cache de paquets d'Arch, dans lequel les trois dernières versions de chaque package sont enregistrées, par défaut. Bien sûr, cela sonne bien, mais pas si bien si votre disque dur n'a pas beaucoup de stockage.

Jusqu'à ce que les SSD soient aussi bon marché qu'ils ne l'ont jamais été, si jamais ce moment arrive, les disques durs peuvent être l'une des trois options suivantes : gros et coûteux ; petit et bon marché; ou un hybride, où il y a une partie SSD et une partie HDD. Dans la deuxième et la troisième option, nous pouvons avoir le même problème, car le disque dur, celui qui offre plus de stockage, nous le laissons généralement pour les données et nous utilisons le SSD pour le système d'exploitation. C'est dans ces cas que nous devons garder un œil sur le cache du package Arch Linux. Et, si nécessaire, nettoyez-le.

Effacez le cache du package Arch, supprimez-le ou laissez-le tel quel

Ce cache enregistrera les trois dernières versions de chaque paquet dans /var/cache/pacman/pkg. Vous devez le surveiller, car même avec la limite de trois, il peut arriver que le dossier grandisse et grandisse jusqu'à ce qu'il touche ou dépasse 10 Go de stockage, selon la quantité de logiciels que nous avons installés. Et, rappelez-vous, nous parlons de cache, c'est-à-dire quelque chose qui est là juste au cas où, mais qui peut ne pas être nécessaire.

Pacman a une option pour supprimer les anciennes versions du cache. sudo pacman-Sc supprimera uniquement les anciennes versions et il laissera le dernier que nous avons installé, c'est-à-dire le pkg de celui que nous avons installé. Bien que ce soit une option de Pacman, on dit que ce n'est pas quelque chose de recommandé, mais l'argument serait que nous ne pourrions pas faire la rétrogradation comme nous sommes censés le faire. Dans ce cas, nous devrions aller dans les dépôts officiels et choisir une version précédente.

Celui qui gère cela depuis les trois dernières versions est Paccaché, et nous pouvons récupérer de l'espace avec ces commandes :

La première chose serait de regarder combien de packages nous avons installés et de voir ce qu'ils occupent, dans mon cas un total de 1981 packages avec un poids total de 13 Go :

sudo ls /var/cache/pacman/pkg/ | wc -l
du -sh /var/cache/pacman/pkg/

Voir le nombre de colis et leur poids

Si nous voulons supprimer tous les packages sauf les trois derniers, ce qui est généralement automatique mais peut ne pas fonctionner, nous écrirons :

sudo paccache -r

Si vous vous rendez compte, il a récupéré peu (1.52 Go) pour moi, et je ne suis pas inquiet de ne pas pouvoir revenir à une version précédente, alors j'ai utilisé le sudo pacman-Sc:

sudo pacman-Sc

Avec ce dernier, sur les 13 Go que j'avais dans le cache du package Arch, Manjaro dans mon cas, il ne me restait plus que 4 Go. Il va nous poser deux questions : dans la première, il nous demande si nous voulons éliminer les colis, et là il faut dire oui ; dans le second, il nous dit de supprimer les référentiels, et là, il vaut mieux dire non.

IMPORTANT : tout ce qui est expliqué ici fonctionne tel quel, mais ne supprimez pas le dossier /pkg, sinon le système n'aura nulle part où placer les nouvelles installations. C'est "un ami m'a dit" il y a des années.

Vous voulez toujours en supprimer d'autres ?

Un disque dur doit être très mauvais ou vous devez avoir de nombreux passe-temps pour qu'un nettoyage en profondeur soit nécessaire, mais cela peut être fait. La commande serait sudo paccache-rk 1, où le k indique le nombre de paquets à conserver. Si vous souhaitez supprimer tous les packages déjà désinstallés, vous pouvez le faire avec la commande sudo paccache-ruk0. De ce qui précède, le u indique les packages désinstallés.

Si vous souhaitez supprimer tout le cache et le laisser à 0 Go, la commande serait sudo pacman-Scc, mais ce que je recommanderais uniquement dans les cas extrêmes où nous n'avons plus d'espace sur le disque dur. Tout ce qui a été supprimé avec les commandes exposées ici ne peut pas être récupéré.

Automatisez le processus

Tout ce nettoyage du cache du package Arch Linux peut être effectué automatiquement, mais en créant un fichier et en y ajoutant quelques lignes. Les étapes à suivre pour automatiser cette tâche de nettoyage seraient :

  1. Nous ouvrons un terminal et écrivons:
sudo mkdir /etc/pacman.d/hooks
  1. Maintenant, nous écrivons cette autre commande :
sudo nano /etc/pacman.d/hooks/clean_package_cache.hook
  1. Dans l'éditeur, nous ajoutons ces lignes :
[Déclencheur] Opération = Opération de mise à niveau = Opération d'installation = Supprimer le type = Package Target = * [Action] Description = Nettoyage du cache pacman... When = PostTransaction Exec = /usr/bin/paccache -r
  1. Nous économisons et économisons. À partir de maintenant, le cache des packages sera automatiquement nettoyé à chaque fois que Pacman mettra à jour, installera ou supprimera des packages.

Et donc pouvez-vous obtenir un peu d'espace supplémentaire. Il est clair que si le disque dur est assez grand, il vaut mieux laisser les choses telles qu'elles ont été conçues, mais ces options existent et peuvent nous tirer d'affaire.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.