GNU/Linux >> Tutoriels Linux >  >> Linux

Comment nettoyer les versions de packages Snap sous Linux [Astuce rapide]

Les packages Snap ne sont pas les préférés de tout le monde, mais ils font partie intégrante de l'écosystème Ubuntu.

Il a ses avantages et ses inconvénients. L'un des inconvénients est que les packages Snap sont généralement plus volumineux et occupent beaucoup d'espace disque.

Cela pourrait être un problème si vous manquez d'espace disque, en particulier sur la partition racine.

Permettez-moi de partager une astuce que vous pourriez utiliser pour réduire l'espace disque utilisé par les packages Snap.

Nettoyage des anciennes versions du package Snap pour libérer de l'espace disque

Les fichiers système liés à snap sont stockés dans le répertoire /var/lib/snapd. En fonction du nombre de packages Snap que vous avez installés, la taille de ce répertoire peut être de plusieurs Go.

Ne me croyez pas sur parole. Faites une évaluation en utilisant la commande du pour vérifier la taille du répertoire.

[email protected]:~$ sudo du -sh /var/lib/snapd
5.4G	/var/lib/snapd

Vous pouvez également utiliser l'outil graphique Disk Usage Analyzer pour voir l'utilisation du disque dans Ubuntu.

C'est beaucoup, non ? Vous pourriez libérer de l'espace disque ici.

De par sa conception, Snap conserve au moins une ancienne version des packages que vous avez installés sur votre système.

Vous pouvez voir ce comportement en utilisant la commande Snap :

snap list --all

Vous devriez voir le même package répertorié deux fois avec une version et un numéro de révision différents.

Pour libérer de l'espace disque, vous pouvez supprimer les versions de package supplémentaires. Comment savoir lequel supprimer ? Vous pouvez voir que ces anciens packages sont étiquetés "désactivés".

Ne vous inquiétez pas. Vous n'avez pas à le faire manuellement. Il existe une sorte de moyen automatique de le faire grâce à un script bash astucieux écrit par Alan Pope alors qu'il travaillait dans l'équipe Snapcraft.

J'espère que vous savez comment créer et exécuter un script shell bash. Fondamentalement, créez un nouveau fichier nommé clean-snap.sh et ajoutez-y les lignes suivantes.

#!/bin/bash
# Removes old revisions of snaps
# CLOSE ALL SNAPS BEFORE RUNNING THIS
set -eu
snap list --all | awk '/disabled/{print $1, $3}' |
    while read snapname revision; do
        snap remove "$snapname" --revision="$revision"
    done

Enregistrez-le et fermez l'éditeur.

Pour exécuter ce script, conservez-le dans votre répertoire personnel, puis ouvrez le terminal dans Ubuntu et exécutez cette commande :

sudo bash clean-snap.sh

Vous pouvez voir qu'il commence à supprimer l'ancienne version des packages.

Si vous vérifiez l'espace disque utilisé par Snap maintenant, vous verrez que la taille du répertoire est maintenant réduite.

[email protected]:~$ sudo du -sh /var/lib/snapd
3.9G	/var/lib/snapd

Si cela fonctionne pour vous, vous pouvez exécuter cette commande de temps en temps.

Comment fonctionne ce script ?

Si vous êtes curieux de savoir ce que fait ce script, laissez-moi vous expliquer.

Vous avez déjà vu la sortie de la commande « snap list –all ». Sa sortie est transmise à la commande awk. Awk est un outil de script puissant.

La partie awk ‘/disabled/{print $1, $3}’ recherche la chaîne ‘disabled’ dans chaque ligne et si elle est trouvée, elle extrait la première colonne et la troisième colonne.

Cette sortie est ensuite transmise à une combinaison de commandes while et read. La commande de lecture obtient la valeur du snapname de la première colonne et de la troisième colonne de la variable de révision.

Ces variables sont ensuite utilisées pour exécuter la commande snap remove à supprimer avec le nom du package span et son numéro de révision.

La boucle while s'exécute tant qu'il y a des lignes contenant une chaîne "désactivée".

Tout cela prend tout son sens si vous connaissez un peu les scripts shell. Si vous n'êtes pas familier avec, nous avons une série de tutoriels bash pour les débutants pour vous.

Avez-vous récupéré vos Go ?

Vous pouvez voir certains forums conseiller de configurer la valeur de rétention du package Snap sur 2.

sudo snap set system refresh.retain=2

Je pense que ce n'est plus nécessaire. Le comportement par défaut de Snap consiste désormais à stocker au total 2 versions pour n'importe quel package.

Dans l'ensemble, si vous manquez d'espace, se débarrasser de la version de package supplémentaire pourrait certainement être l'un des moyens de libérer de l'espace disque sur Ubuntu.

Si ce tutoriel vous a aidé à libérer de l'espace, faites-le moi savoir dans la section des commentaires.

Article d'origine


Linux
  1. Comment partitionner un disque sous Linux

  2. Comment installer et utiliser Snap Package Manager sur Alma Linux 8

  3. Comment créer un package RPM Linux

  4. Comment installer XML ::LibXML sur Ubuntu Linux [Astuce rapide]

  5. Linux - Comment minimiser l'utilisation de l'espace disque ?

Comment utiliser les fichiers RAR dans Ubuntu Linux [Quick Tip]

Comment ajouter un répertoire à PATH sous Linux [Astuce rapide]

Comment nettoyer de l'espace disque sur une instance Linux ?

Comment chiffrer une partition sous Linux

Comment installer Snap Package Manager sur Rocky Linux 8

Comment installer Snap Package Manager dans les distributions Linux