1 13/04/2026 8 min

Quando devi capire cosa c’è davvero installato via Snap, il comando di riferimento è snap list. Non è solo una lista di nomi: ti dà anche versione, publisher, note e, soprattutto, ti fa distinguere tra pacchetti attivi, disabilitati e quelli con refresh disponibile. In pratica è il punto di partenza corretto per inventario, troubleshooting e controllo dopo un aggiornamento.

Su Linux conviene trattare Snap come un layer a parte rispetto ai pacchetti della distribuzione. Se usi apt o dnf, non vedrai nulla di installato tramite Snap. Se vuoi una fotografia completa del sistema, devi interrogare entrambi gli ecosistemi: manager tradizionale e Snap.

Elenco base dei pacchetti Snap installati

Il comando minimo è questo:

snap list

L’output tipico include colonne come Name, Version, Rev, Tracking, Publisher e Notes. La colonna Notes è quella che spesso viene ignorata, ma in pratica è utile per capire se un pacchetto è classic, se ha restrizioni particolari o se è marcato come disabilitato.

Un esempio realistico può essere simile a questo:

Name               Version          Rev    Tracking       Publisher   Notes
core22             20240111         1122   latest/stable  canonical✓  base
firefox            125.0.3          4130   latest/stable  mozilla✓    -
code               1.89.1           161    latest/stable  vscode✓     classic
lxd                5.21             28373  latest/stable  canonical✓  -

Nel campo Rev trovi la revisione effettivamente installata. Se vuoi capire perché un’app si comporta in modo diverso dopo un refresh, è questa informazione che ti serve, non solo la versione “umana” del software.

Filtrare i pacchetti per nome, stato o publisher

Quando i pacchetti aumentano, la lista completa diventa meno pratica. In quel caso conviene filtrare l’output. snap list supporta un nome specifico come argomento, utile quando sai già cosa cercare.

snap list firefox

Se vuoi controllare un pacchetto singolo, questo è il modo più rapido per verificare versione e revisione senza leggere tutta la tabella.

Per un inventario più pulito da shell, puoi combinare snap list con strumenti standard come grep o awk. Per esempio, per isolare solo i pacchetti che contengono una certa stringa nel nome:

snap list | grep -i firefox

Oppure, se vuoi estrarre solo il nome dei pacchetti installati:

snap list | awk 'NR>1 {print $1}'

Questa seconda variante è utile quando devi fare automazione, ad esempio confrontare l’inventario locale con una whitelist attesa oppure produrre un report da passare a un sistema di monitoraggio o asset management.

Capire cosa è attivo, disabilitato o fermato

Snap non si limita a dire che un pacchetto esiste. Può anche indicare se è stato disabilitato. Questo dettaglio è importante in ambienti dove un’app viene tenuta installata ma non deve partire automaticamente, oppure quando un refresh ha lasciato una revisione precedente in stato non attivo.

Per vedere informazioni più complete su un singolo pacchetto, usa:

snap info firefox

Qui non stai solo guardando la presenza del pacchetto, ma anche canali disponibili, publisher, descrizione, snap type e dettagli utili per valutare se un refresh o un cambio di canale ha senso.

Se il tuo obiettivo è controllare i servizi associati al pacchetto, allora devi andare oltre la lista e usare:

snap services

Molti Snap espongono servizi systemd integrati. In questo caso la lista dei pacchetti installati è solo metà del lavoro: sapere che un pacchetto è presente non basta, bisogna verificare anche se i servizi sono in esecuzione e con quale stato.

Elenco in formato leggibile per script

Se devi costruire uno script, il formato tabellare standard è comodo per l’occhio ma non ideale per il parsing. In quel caso conviene passare a un output più semplice da trattare, oppure usare filtri che estraggano solo i campi necessari.

Una soluzione pratica è questa:

snap list --all

Il parametro --all mostra tutte le revisioni disponibili localmente, non solo quella attiva. È molto utile quando vuoi capire cosa è stato mantenuto dopo un refresh o quando devi ricostruire la storia di un pacchetto.

Se vuoi solo il nome dei pacchetti attivi, puoi usare una pipeline semplice:

snap list | tail -n +2 | awk '{print $1}'

Qui tail -n +2 salta l’intestazione e awk prende la prima colonna. È un trucco banale, ma in molti contesti basta e avanza per generare una lista pulita da confrontare o esportare.

Revisioni multiple e rollback

Uno dei punti forti di Snap è la gestione delle revisioni. Quando fai un refresh, spesso la revisione precedente non sparisce subito: può essere mantenuta come fallback. Questo è utile se devi tornare indietro dopo un problema introdotto da un aggiornamento.

Per vedere tutte le revisioni disponibili di un pacchetto installato:

snap list --all

Se noti revisioni disabilitate, significa che il sistema conserva uno storico locale. In caso di regressione, puoi valutare un rollback con:

sudo snap revert firefox

Il rollback non è un comando da usare a caso: prima verifica che il pacchetto abbia davvero una revisione precedente disponibile e che il cambiamento sia reversibile senza impatti collaterali sui dati applicativi. In ambienti produttivi è buona pratica controllare anche i log dell’applicazione e gli eventuali servizi dipendenti prima di tornare a una revisione precedente.

Se vuoi sapere quale revisione è attiva in quel momento, la colonna Rev di snap list resta il riferimento più diretto. In altre parole: per un controllo veloce, non serve cercare altrove.

Quando serve distinguere Snap da pacchetti tradizionali

Un errore comune è cercare un software installato via Snap dentro apt list --installed o nei file di configurazione del package manager della distribuzione. Non funzionerà, perché Snap ha il proprio database locale e il proprio lifecycle.

Se vuoi verificare tutto ciò che è installato sul sistema, devi mettere insieme almeno tre viste:

  • Snap: snap list per i pacchetti installati tramite il sistema di packaging Snap.
  • Pacchetti della distro: per esempio apt list --installed su Debian/Ubuntu o rpm -qa su RHEL/CentOS/Fedora.
  • Servizi: snap services e, se serve, systemctl status per capire cosa è realmente in esecuzione.
  • Questa separazione è importante anche in fase di supporto. Se un utente dice “ho installato il pacchetto”, bisogna chiarire subito se intende un pacchetto della distribuzione o uno Snap. Sono due flussi diversi, con aggiornamenti, rollback e permessi diversi.

    Controllo rapido della presenza di snapd

    Se snap non funziona, il primo dubbio non è il pacchetto installato ma il demone di gestione. Su molte distribuzioni il client snap dipende dal servizio snapd.

    systemctl status snapd

    Se il servizio non è attivo, la lista dei pacchetti non la ottieni proprio oppure ottieni errori di connessione al socket locale. In quel caso il problema non è “mancano i pacchetti”, ma “manca il layer di gestione”.

    Per un controllo ancora più essenziale:

    snap version

    Qui puoi vedere versione del client, del daemon e del kernel/cgroup environment. Se il comando restituisce errore, hai già un indicatore forte che il problema è a monte rispetto alla semplice enumerazione dei pacchetti.

    Uso pratico in amministrazione e audit

    In amministrazione di sistema, elencare i pacchetti Snap installati serve soprattutto in tre scenari: audit, troubleshooting e controllo del change. In audit vuoi sapere cosa è presente sul nodo. In troubleshooting vuoi capire se un componente è stato aggiornato o sostituito. Nel change vuoi confermare che un rollout ha raggiunto i sistemi previsti.

    Un flusso operativo sensato è questo:

  • esegui snap list e salva l’output in un file di inventario;
  • confronta la revisione attiva con quella attesa;
  • se il pacchetto è critico, controlla anche snap services e i log applicativi;
  • solo dopo valuta un refresh o un revert.
  • Per esempio, in un server con un editor, un runtime o un servizio installato come Snap, il fatto che il pacchetto compaia in lista non significa che l’app sia sana. Devi sempre verificare anche il comportamento del servizio e l’effettivo stato di esecuzione.

    Problemi tipici nell’interpretazione dell’output

    Il primo fraintendimento riguarda la colonna Publisher. Il simbolo di verifica accanto ad alcuni publisher indica che l’identità è verificata, ma non sostituisce una valutazione tecnica del pacchetto. È un segnale utile, non una garanzia assoluta di qualità operativa.

    Il secondo errore è leggere Version come se fosse l’unico dato rilevante. Su Snap la revisione conta spesso più della versione, perché due revisioni con la stessa versione possono avere differenze interne, refresh diversi o metadata cambiati.

    Il terzo è ignorare le revisioni disabilitate. Se stai facendo manutenzione o debug, quelle revisioni possono dirti molto sulla storia recente del sistema. In un ambiente ben gestito, la capacità di tornare indietro in modo rapido è parte del disegno operativo, non un dettaglio secondario.

    Comandi utili da tenere a portata

    Se vuoi una mini-cassetta degli attrezzi per lavorare con Snap, questi comandi coprono la maggior parte dei casi pratici:

    snap list
    snap list --all
    snap info <nome-pacchetto>
    snap services
    snap version
    sudo snap revert <nome-pacchetto>

    Non sono comandi da usare tutti insieme, ma una sequenza ragionata: prima inventario, poi dettaglio, poi stato dei servizi, infine eventuale rollback. È il modo corretto per evitare modifiche impulsive quando basta una verifica mirata.

    Conclusione operativa

    Per elencare i pacchetti Snap installati in Linux, snap list è il comando giusto e quasi sempre sufficiente. Se però devi amministrare davvero il sistema, non fermarti alla tabella base: controlla revisioni, servizi, publisher e stato del daemon snapd. Solo così la lista diventa un dato utile e non una semplice fotografia incompleta.