Cosa devi sapere sugli snap su Ubuntu 20.04

Ubuntu 20.04 Focal Fossa è una versione fantastica che è stata ampiamente elogiata. Tuttavia, la decisione di modificare il Software Center per installare applicazioni basate su snap è controversa. Spiegheremo cosa significa per te.

Cos’è un pacchetto Snap su Linux?

“Snap” si riferisce sia al comando snap che a un file di installazione snap. Uno snap raggruppa un’applicazione e tutti i suoi dipendenti in un unico file compresso. I dipendenti potrebbero essere file di libreria, server Web o database o qualsiasi altra cosa che un’applicazione deve avere per avviare ed eseguire.

Il lato positivo degli snap è che rendono le installazioni più semplici perché evitano il dolore di inferno di dipendenza. Questo è ciò che accade quando una nuova applicazione non può essere eseguita perché una risorsa richiesta non è disponibile, è la versione sbagliata o la sua installazione sovrascrive i file richiesti dalle applicazioni esistenti in modo che non possano essere eseguite.

Potresti aspettarti che uno snap non venga decompresso e che i file vengano estratti al momento dell’installazione. Tuttavia, è in fase di esecuzione che il file snap viene montato su un file dispositivo ad anello a blocchi. Ciò consente l’interno del file File system SquashFS a cui accedere.

L’applicazione viene eseguita in modo incapsulato e recintato, quindi i suoi file non possono interferire con quelli sul tuo computer. Puoi persino installare più versioni della stessa applicazione e non si impollinano né combatteranno tra di loro.

Lo svantaggio è che i file di installazione sono più grandi del tradizionale Gestore di pacchetti Debian (DEB) file. Usano anche più spazio sul disco rigido. Con gli snap, ogni applicazione che necessita di una particolare risorsa installa la propria copia. Questo non è l’uso più efficiente dello spazio sul disco rigido. Sebbene i dischi rigidi stiano diventando sempre più grandi e più economici, i tradizionalisti continuano a esitare alla stravaganza di ciascuna applicazione in esecuzione nel proprio mini-container. Anche l’avvio delle applicazioni è più lento.

Gli snap sono stati anche criticati per non aver seguito il tema del desktop e dei loro aggiornamenti automatici. Alcune persone sono diffidenti anche perché gli snap non sono necessariamente realizzati dagli autori del software. Pertanto, non li considerano “ufficiali” al 100%.

Quindi, con Focal Fossa, Canonical ha sostituito l’applicazione Ubuntu Software con una versione che installa gli snap per impostazione predefinita. Cosa significa questo per voi?

Il Software Center di Ubuntu

Possiamo usare il comando df per elencare i file system SquashFS montati sul tuo computer. Useremo l’opzione -t (tipo) per limitare l’output ai file system siamo interessati a:

df -t squashfs

Quindi usiamo il comando snap list per elencare gli snap installati:

snap list

df -t squashfs in una finestra di terminale.

Ci sono due snap relativi al desktop GNOME, due relativi alla funzionalità di snap di base, uno per i temi GTK e uno per lo snap store. Naturalmente, anche l’applicazione snap-store è un gioco da ragazzi.

Ecco il punto: se esegui il comando snap-store in una finestra del terminale, l’applicazione avviata è il software Ubuntu.

Ovviamente, di solito esegui l’applicazione Ubuntu Software facendo clic sulla sua icona. Lo stiamo avviando dalla riga di comando per dimostrare che sotto la superficie, ora è l’applicazione snap-store:

snap-store

L'applicazione software Ubuntu.

L’applicazione software Ubuntu sembra proprio come ti aspetteresti. Puoi cercare tutto lo stesso software che avresti potuto in precedenza.

Cerchiamo e installiamo l’applicazione “sqlitebrowser”. La schermata dei risultati mostra i dettagli dell’applicazione e uno screenshot. Selezionare “Installa” per installare il software.

Pagina di installazione dell'applicazione browser SQLite nell'applicazione software Ubuntu.

Se non lo sapessi, non sospetteresti i cambiamenti nascosti sotto il cofano. Scorri verso il basso e vedrai alcune nuove informazioni specifiche per lo snap.

Informazioni specifiche sullo snap relative a SQLITebrowser nell'applicazione software Ubuntu.

L’elenco “Dettagli” fornisce le seguenti informazioni:

Canale: il canale da cui l’installazione estrarrà l’applicazione.
Versione: la versione del software.
Licenza: il tipo di licenza.
Sviluppatore: la persona che ha creato lo snap o le persone che hanno scritto l’applicazione.
Origine: l’origine da cui verrà scaricato lo snap (snapcraft.io è lo snap-store Snapcraft di Canonical).
Dimensione download: la dimensione del file snap.

Il canale può essere uno dei seguenti:

Stabile: l’impostazione predefinita, che contiene i pacchetti più stabili e affidabili.
Candidato: questo canale è meno stabile, ma molto simile perché contiene software a livello di release candidate.
Beta: questo canale è di qualità del ciclo di sviluppo avanzato, ma non è garantito che sia stabile.
Edge: per i primi tester di build e per i curiosi. Non dovresti usare questo canale per niente di importante.

Al termine dell’installazione, possiamo controllare nuovamente l’elenco degli snap installati:

snap list

snap list in una finestra di terminale.

La nuova voce è elencata in fondo. Lanciamo il programma:

sqlitebrowser
Finestra principale dell'applicazione DB Browser per SQLite.

Tutto ciò che riguarda l’applicazione funziona perfettamente, anche se l’interfaccia sembra datata. Gli elementi scolpiti e pseudo-3D dell’interfaccia ti ricorderanno il file GUI di un tempo. Questo non è comune a tutti gli snap, ma è sorprendente in questo esempio.

Installazione dalla riga di comando

Non è cambiato nulla durante l’installazione delle applicazioni dalla riga di comando. Hai ancora accesso allo strumento della riga di comando snap, quindi puoi installare e disinstallare gli snap all’interno di una finestra di terminale. Anche il comando di installazione apt-get e apt, il wrapper apt-get, sono ancora presenti.

Installiamo la stessa applicazione dalla riga di comando. Poiché la versione che abbiamo installato sopra è un gioco da ragazzi, non si influenzeranno in alcun modo:

sudo apt-get install sqlitebrowser

sudo apt-get install sqlitebrowser in una finestra di terminale.

Lascia che l’installazione sia completa. Premi il tasto Super e digita “sqlitebrowser”. Dopo aver digitato alcuni caratteri, vedrai due versioni del programma sul tuo computer.

Due browser DB per icone SQLite nei risultati della ricerca.

Accendili entrambi.

Due versioni di DB Browser per SQLite in esecuzione in GNOME.

Come puoi vedere, abbiamo due diverse versioni installate e funzionanti allo stesso tempo.

La versione sul retro dell’immagine è quella che abbiamo installato dalla riga di comando e la versione davanti è quella nello snap:

La versione di apt-get è la versione 3.11.2.
La versione snap è 3.11.99.

Nonostante le apparenze, la versione della riga di comando è quella più vecchia. Indipendentemente da ciò, è ovvio che le due versioni coesistano e funzionano bene insieme. Quindi, gli snap fanno quello che dovrebbero con il ring-fencing di diverse versioni della stessa applicazione.

Inoltre, l’installazione di applicazioni dalla riga di comando con apt o apt-get è la stessa di sempre e non è affatto influenzata dagli snap.

Quale dovresti usare?

Ti interessa minimamente quale tipo di applicazione stai utilizzando? In caso contrario, vai con gli snap.

Se una qualsiasi delle seguenti condizioni è rompicapo (o più di esse si aggiungono a una sola), evita l’applicazione Ubuntu Software e installa le tue applicazioni nel modo tradizionale:

Gli snap sono più lenti da caricare. Questo sarà più evidente sul vecchio hardware.
Gli snap occupano più spazio sul disco rigido.
Gli snap vengono aggiornati automaticamente.
Gli snap potrebbero non corrispondere ai temi installati.
Gli snap non sono sempre “ufficiali”. Sono spesso costruiti da volontari ben intenzionati.

Se il tuo computer è ragionevolmente moderno, la differenza di velocità tra l’avvio di uno snap o di un’applicazione normale non sarà enorme. La più grande penalità di tempo che abbiamo notato è stata durante l’installazione. Il download degli snap ha richiesto molto più tempo. Una volta scaricati i file, l’installazione è stata abbastanza veloce. Il download è un’attività una tantum, quindi non è qualcosa che dovrai affrontare ogni giorno.

Anche se pensi che gli scatti siano il futuro e sei pronto ad abbracciarli con tutto il cuore, non puoi andare all-in con loro. Alcune applicazioni non sono disponibili in formato snap. In questi casi, dovrai comunque installarli dalla riga di comando.

Chiaramente, Canonical sta inchiodando i suoi colori all’albero con questa mossa. Per quanto riguarda gli sviluppatori di Ubuntu, gli snap sono qui per restare. Come sempre, puoi usarli, ignorarli o avere un sistema ibrido che mescola e abbina snap e installazioni tradizionali basate su DEB.