Comment nettoyer les versions de packages Snap sous Linux


  • FrançaisFrançais



  • 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 intéressante 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 par 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.

    utilisation du disque instantané
    Utilisation du disque instantané

    C’est beaucoup, non ? Vous pouvez 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.

    snap conserve deux versions de chaque paquet
    Snap conserve au moins deux versions de chaque package

    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 t’inquiète 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 le Snapcraft équipe.

    J’espère que vous savez comment créer et exécuter un script shell bash. Fondamentalement, créez un nouveau fichier nommé clean-swap.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.

    suppression des anciennes versions du package snap
    Suppression des anciennes versions de packages snap

    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 au 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 de la première colonne du snapname 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 la chaîne ‘disabled’.

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

    As-tu récupéré tes 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 2 versions au total pour n’importe quel package.

    Au total, si vous manquez d’espace, se débarrasser de la version de package supplémentaire pourrait sûrement ê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.

    Source

    N'oubliez pas de voter pour cet article !
    1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
    Loading...

    La Rédaction

    L'équipe rédactionnnelle du site

    Pour contacter personnellement le taulier :

    Laisser un commentaire

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