Negli ultimi anni Ubuntu ha integrato il sistema di pacchettizzazione Snap come componente centrale per la distribuzione delle applicazioni desktop, soprattutto quelle esposte alla rete come browser e client di posta. Parallelamente, una parte della community continua a preferire modelli alternativi come Flatpak o i pacchetti DEB tradizionali. Il caso di un’installazione di Ubuntu 25.10 completamente “snapless”, ottimizzata e considerata “solida” dall’utente, rappresenta un punto di partenza utile per una riflessione più ampia: quali sono le reali implicazioni tecniche della rimozione di Snap? Esistono benefici concreti in termini di prestazioni, sicurezza e manutenzione? E quali sono invece i rischi?
Architettura dei pacchetti in Ubuntu: Snap, APT e Flatpak a confronto
Ubuntu utilizza storicamente pacchetti DEB gestiti tramite package manager APT, un modello che privilegia l’integrazione profonda con il sistema: le applicazioni condividono le stesse librerie di base e sono compilate per funzionare in modo coerente all’interno della specifica versione della distribuzione. Per mantenere questa coerenza, al momento del rilascio le versioni dei software e delle librerie vengono “congelate”, cioè non sono più aggiornate con nuove funzionalità ma solo corrette con patch di sicurezza e bugfix mirati.
L’approccio riduce al minimo il rischio di incompatibilità e regressioni, garantendo stabilità nel tempo, ma implica anche che alcune applicazioni restino ferme alla versione iniziale per tutta la vita della release, senza ricevere rapidamente le novità introdotte dagli sviluppatori.
Snap nasce per risolvere proprio questo problema. Le applicazioni sono distribuite come bundle isolati, con tutte le dipendenze incluse e aggiornamenti automatici gestiti direttamente dal maintainer. I cicli di rilascio sono così molto più rapidi, caratteristica particolarmente importante per i software che scambiano dati in rete.
Flatpak segue un’impostazione simile a Snap, ma con differenze rilevanti: usa runtime condivisi, cioè ambienti di esecuzione comuni che evitano duplicazioni di librerie; applica l’isolamento delle applicazioni tramite Bubblewrap, uno strumento di sandboxing che limita l’accesso del programma al sistema; si basa su una distribuzione decentralizzata attraverso repository come Flathub. In molti contesti desktop, Flatpak è considerato più flessibile e meno invasivo rispetto a Snap. Linux Mint, ad esempio, adotta Flatpak senza imposizioni.
Rimozione di Snap: operazione tecnica e conseguenze
Eliminare completamente Snap da Ubuntu non è complesso dal punto di vista operativo (se ne parla ad esempio qui), anche se la procedura differisce tra una versione e l’altra della distribuzione Canonical, ma comporta una serie di modifiche:
- rimozione di
snapd; - eliminazione dei pacchetti “transitional” che reindirizzano a Snap;
- configurazione di alternative per software critico (es. Firefox).
Uno degli aspetti più delicati riguarda proprio Firefox e altre app come Thunderbird. Nelle versioni recenti di Ubuntu, il pacchetto DEB è stato sostituito da un wrapper che installa automaticamente la versione Snap. Per evitare questo comportamento è necessario utilizzare repository esterni, Flatpak oppure tecniche per controllare e fissare le priorità dei pacchetti nel gestore APT (apt-pinning), in modo da scegliere con precisione quali versioni dei software installare o aggiornare e da quali repository reperirle.
Dal punto di vista della sicurezza, la scelta non è neutra. Snap consente aggiornamenti quasi immediati per le applicazioni più critiche, mentre i pacchetti DEB seguono cicli di revisione più lenti.
Sì, ma come rimuovere davvero Snap
Abbiamo già detto che la procedura da seguire può variare da una versione di Ubuntu e l’altra. In generale, comunque, è sempre bene svolgere test approfonditi su macchine di prova o VM.
Se si volesse provare “l’ebbrezza” di Ubuntu Linux senza Snap, si dovrebbero prima fermare i servizi ad esso connessi:
sudo systemctl disable --now snapd.service
sudo systemctl disable --now snapd.socket
sudo systemctl disable --now snapd.seeded.service
Quindi rimuovere tutti i pacchetti Snap restituiti dal comando snap list. Esempio:
sudo snap remove --purge firefox
A questo punto di solito si può procedere con la rimozione definitiva di Snap e la pulizia del filesystem:
sudo apt autoremove --purge snapd
sudo rm -rf /var/cache/snapd
sudo rm -rf /var/lib/snapd
sudo rm -rf /snap
sudo rm -rf /var/snap
rm -rf ~/snap
Infine, sfruttando la citata tecnica apt-pinning si può bloccare la reinstallazione di Snap:
sudo nano /etc/apt/preferences.d/nosnap.pref
All’interno del file si può quindi inserire quanto segue:
Package: snapd
Pin: release a=*
Pin-Priority: -10
Come ultimo passaggio, si può ricorrere ad APT o Flatpak per reinstallare i pacchetti software precedentemente rimossi.
Stabilità percepita vs stabilità reale
Molti utenti riportano una maggiore stabilità del sistema Ubuntu dopo la rimozione di Snap. Il fenomeno ha diverse possibili spiegazioni:
- Riduzione della complessità runtime: meno servizi in background, meno mount loop e minore overhead I/O.
- Maggiore prevedibilità del sistema: l’uso di DEB e Flatpak riduce i meccanismi automatici di aggiornamento non controllati.
- Percezione soggettiva: la semplificazione dell’ecosistema software porta a una sensazione di maggiore controllo.
Tuttavia, da un punto di vista strettamente tecnico, Snap non introduce instabilità intrinseca. La maggior parte dei problemi segnalati riguarda tempi di avvio più lunghi per le applicazioni Snap; limitazioni di accesso al filesystem o a risorse di rete; incompatibilità con configurazioni particolari (es. condivisioni di rete o mount custom).
Implicazioni per la sicurezza
Dal punto di vista della sicurezza applicativa, Snap introduce diversi vantaggi.
Citiamo il sandboxing tramite AppArmor, l’isolamento delle dipendenze, gli aggiornamenti automatici gestiti upstream. Flatpak offre un modello simile, ma con una filosofia più orientata al controllo dell’utente sui permessi. I pacchetti DEB, invece, sono completamente integrati nel sistema e non isolati.
La rimozione di Snap implica quindi una maggiore responsabilità operativa per l’utente, che deve occuparsi di gestire aggiornamenti tempestivi, verificare le fonti dei pacchetti, interfacciarsi manualmente con le dipendenze critiche. È un po’ come spostare il modello da una sicurezza “managed” a una sicurezza “user-driven”.
Manutenzione e aggiornamenti: automazione vs controllo
Uno degli elementi più centrali è la gestione degli aggiornamenti.
Snap aggiorna automaticamente le applicazioni in background: si tratta di un comportamento che riduce il rischio di esposizione a vulnerabilità ma introduce due effetti collaterali. Da un lato la perdita di controllo sul timing degli aggiornamenti; dall’altro l’introduzione di possibili regressioni non previste.
Flatpak consente un compromesso: aggiornamenti manuali o programmati, con maggiore trasparenza. Alcuni utenti avanzati implementano script personalizzati per aggiornare automaticamente i pacchetti Flatpak, replicando di fatto il comportamento di Snap ma con maggiore controllo.
Compatibilità hardware e kernel
Un altro tema importante riguarda la compatibilità hardware, in particolare con GPU AMD e stack grafici come Vulkan e OpenGL.
In questi scenari, la stabilità non dipende dal sistema di pacchettizzazione, ma da driver kernel (amdgpu, i915, ecc.), stack Mesa, compositori grafici (GNOME Shell, Mutter), versioni di systemd e GDM.
Se prendiamo in considerazione Ubuntu 25.10, non essendo una release LTS (Long Term Support), integra kernel e driver più recenti rispetto alla 24.04 LTS, e questo può migliorare o peggiorare la stabilità a seconda dell’hardware. La percezione di un sistema “solido” è quindi spesso legata alla combinazione specifica di hardware e driver più che alla presenza o meno di Snap.
Conclusioni
Un’installazione di Ubuntu 25.10 senza Snap può essere effettivamente stabile, performante e ben ottimizzata, ma questo risultato non deriva semplicemente dalla rimozione di Snap. Può essere solamente il frutto di una configurazione consapevole, di scelte precise sul modello di distribuzione delle applicazioni e di una manutenzione attiva del sistema.
La rimozione di Snap non rappresenta una soluzione universale, ma una scelta architetturale che comporta vantaggi e responsabilità. In contesti professionali o orientati alla sicurezza, la decisione dovrebbe essere guidata da valutazioni tecniche e threat model specifici, non da preferenze ideologiche.