À propos du gestionnaire de paquets snap
Cliquer est un système de conditionnement et de déploiement de logiciels développé par Canonical pour les systèmes d'exploitation qui utilisent le noyau Linux. Les packages, appelés snaps , et l'outil pour les utiliser, snapd , fonctionnent sur une gamme de distributions Linux et permettent aux développeurs de logiciels en amont de distribuer leurs applications directement aux utilisateurs. Les snaps sont des applications autonomes s'exécutant dans un bac à sable avec un accès médiatisé au système hôte. Snap a été initialement publié pour les applications cloud mais a ensuite été porté pour fonctionner également pour les appareils Internet des objets et les applications de bureau.
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 de packages 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.
$ sudo du -sh /var/lib/snapd
5.4G /var/lib/snapd
Code language: JavaScript (javascript)
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
Code language: PHP (php)
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
Code language: PHP (php)
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
Code language: CSS (css)
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.
Conclusion
Dans ce tutoriel, nous avons trouvé un moyen de nettoyer notre espace disque des packages snap dont nous n'avions pas besoin en utilisant un simple script bash…