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/
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:
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.
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 :
- Nous ouvrons un terminal et écrivons:
sudo mkdir /etc/pacman.d/hooks
- Maintenant, nous écrivons cette autre commande :
sudo nano /etc/pacman.d/hooks/clean_package_cache.hook
- 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
- 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.