GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Un modo semplice per ripulire le versioni del pacchetto Snap in Ubuntu

Informazioni sul gestore di pacchetti snap

Scatta è un sistema di pacchetto software e distribuzione sviluppato da Canonical per i sistemi operativi che utilizzano il kernel Linux. I pacchetti, chiamati scattamenti e lo strumento per utilizzarli, snapd , funzionano su una vasta gamma di distribuzioni Linux e consentono agli sviluppatori di software a monte di distribuire le loro applicazioni direttamente agli utenti. Gli snap sono applicazioni autonome in esecuzione in una sandbox con accesso mediato al sistema host. Snap è stato originariamente rilasciato per applicazioni cloud ma è stato successivamente convertito per funzionare anche per dispositivi Internet of Things e applicazioni desktop.

I pacchetti Snap non sono i preferiti da tutti ma sono parte integrante dell'ecosistema Ubuntu.

Ha i suoi pro e contro. Uno degli aspetti negativi è che i pacchetti Snap sono generalmente di dimensioni maggiori e occupano molto spazio su disco.

Questo potrebbe essere un problema se stai esaurendo lo spazio su disco, specialmente sulla partizione di root.

Consentitemi di condividere un trucco accurato che potresti usare per ridurre lo spazio su disco utilizzato dai pacchetti Snap.

Ripulire le vecchie versioni del pacchetto Snap per liberare spazio su disco

I file di sistema relativi allo snap sono archiviati nella directory /var/lib/snapd. In base al numero di pacchetti Snap installati, la dimensione della directory potrebbe essere di diversi GB.

$ sudo du -sh /var/lib/snapd
5.4G	/var/lib/snapd
Code language: JavaScript (javascript)

È molto, giusto? Potresti liberare spazio su disco qui.

In base alla progettazione, Snap mantiene almeno una versione precedente dei pacchetti che hai installato sul tuo sistema.

Puoi vedere questo comportamento usando il comando Snap:

$ snap list --all
Code language: PHP (php)

Dovresti vedere lo stesso pacchetto elencato due volte con versione e numero di revisione diversi.

Per liberare spazio su disco, puoi eliminare le versioni aggiuntive del pacchetto. Come fai a sapere quale eliminare? Puoi vedere che questi pacchetti meno recenti sono etichettati come "disabilitati".

Non preoccuparti. Non devi farlo manualmente. C'è una sorta di modo automatico per farlo grazie a un'elegante sceneggiatura scritta da Alan Pope mentre lavorava nel team di Snapcraft.

Spero che tu sappia come creare ed eseguire uno script di shell bash. Fondamentalmente, crea un nuovo file chiamato clean-snap.sh e aggiungi le seguenti righe.

#!/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)

Salvalo e chiudi l'editor.

Per eseguire questo script, tienilo nella tua home directory, quindi apri il terminale in Ubuntu ed esegui questo comando:

sudo bash clean-snap.sh
Code language: CSS (css)

Puoi vedere che inizia a rimuovere la versione precedente dei pacchetti. Se controlli ora lo spazio su disco utilizzato da Snap, vedrai che la dimensione della directory è ora ridotta.

Conclusione

In questo tutorial abbiamo trovato un modo per ripulire lo spazio su disco dai pacchetti snap di cui non avevamo bisogno utilizzando un semplice script bash...


Ubuntu
  1. Installa i pacchetti RPM su Ubuntu 11.10 e Ubuntu 11.04

  2. Come ripulire le versioni del pacchetto Snap in Linux [Suggerimento rapido]

  3. Il modo consigliato per pulire la cache dei pacchetti in Arch Linux

  4. Supporto per pacchetti snap per Ubuntu 14.04 Lts?

  5. Utilizzo di Snap Package Manager su Ubuntu

Come eseguire il downgrade dei pacchetti su Ubuntu

Un modo semplice per installare SciTE su Ubuntu 21.04 LTS

Un modo semplice per installare PSensors in Ubuntu

Un modo semplice per installare MySQL su Ubuntu Linux

Un modo semplice per installare TeamSpeak su Ubuntu Linux

Come utilizzare APT per gestire i pacchetti su Ubuntu?