
Quando si installano pacchetti software Linux con snap
, puoi dire addio all'inferno delle dipendenze e rompere altre applicazioni funzionanti. I pacchetti Snap sono stati originariamente progettati per Ubuntu, ma ora sono disponibili su una varietà di distribuzioni Linux.
Cosa sono i pacchetti Snap?
In passato, l'installazione di applicazioni su Linux è stata un'esperienza potenzialmente frustrante. Installeresti qualcosa solo per scoprire che una determinata libreria o altra dipendenza mancava o era obsoleta. Dovresti quindi cercare la risorsa mancante e installarla, solo per trovare un'altra applicazione dipendente dalla versione della libreria che hai appena sostituito. Ripara uno, rompi uno, ripeti.
Questo è migliorato con i migliori sistemi di gestione dei pacchetti, come apt, dnf e pacman. Tuttavia, devi ancora affrontare una lotta se hai bisogno di versioni diverse della stessa applicazione installata. Oppure, se usi due applicazioni che si scontrano perché sono legate a versioni specifiche, ma diverse, di una libreria.
Una soluzione a questi problemi sono i sistemi di impacchettamento e distribuzione delle applicazioni. Snappy è uno dei più popolari di questi. Si basa su un sistema di packaging e distribuzione chiamato Click, che richiama l'iniziativa Ubuntu Touch. AppImage e FlatPack sono altri che potresti aver incontrato.
Questi sistemi incapsulano l'applicazione insieme a eventuali dipendenze e altri requisiti in un singolo file compresso. L'applicazione viene quindi eseguita in una sorta di mini-contenitore. È sandbox e separato da altre applicazioni. Le librerie e le altre risorse con cui l'applicazione è impacchettata o richiede sono disponibili solo per essa.
Non sono installati nel senso tradizionale, quindi non causano problemi con altre applicazioni che richiedono versioni diverse delle stesse risorse. È anche possibile installare ed eseguire applicazioni che richiedono versioni di librerie in conflitto poiché ogni applicazione si trova nella propria sandbox.
Se non vengono installati nel solito modo, tuttavia, come vengono gestiti? Bene, il singolo file del pacchetto viene scaricato, decompresso e montato come SquashFS
file system virtuale. Ti viene quindi presentato come un ambiente virtuale. Tutto ciò avviene dietro le quinte. Tutto quello che saprai è che hai installato un'applicazione e, ora, puoi accedervi.
Naturalmente, poiché ogni file del pacchetto deve contenere tutte le risorse necessarie all'applicazione, i file del pacchetto possono essere di grandi dimensioni. È anche facile duplicare una risorsa che normalmente installeresti una sola volta, come MySQL o Apache. Se due diversi snap
le applicazioni richiedono le stesse risorse, ognuna porta la propria copia.
Questo è il compromesso per la semplicità dell'installazione e la rimozione del mal di testa da conflitto di risorse.
Installazione di snapd
Snappy è stato introdotto con Ubuntu 16.04, quindi se stai utilizzando quella versione o successive, sei già pronto per partire. Sulla nostra macchina, Snappy era installato su Manjaro 18.04, ma dovevamo installarlo su Fedora 31.
snap
è sia il nome dei file del pacchetto sia il comando che usi per interagire con essi. Dietro le quinte, il snapd
demone è anche il nome del pacchetto che devi installare se non hai già Snappy sul tuo computer.
Installare snapd
su Fedora digita il seguente comando:
sudo dnf install snapd
Se è necessario installarlo su Manjaro, utilizzare questi comandi:
sudo pacman -Sy snapd
sudo systemctl enable --now snapd.socket
Puoi usare il snap version
comando per visualizzare la versione di snap
cliente, snapd
demone e il numero di serie del software. Verranno visualizzati anche il nome e la versione della distribuzione Linux e la versione del kernel.
Digita quanto segue:
snap version
Installazione di pacchetti snap
È un processo abbastanza semplice da installare a snap
pacchetto. Puoi usare snap
cercare snap
pacchetti, quindi installa quello che desideri.
Digitiamo quanto segue per cercare e installare l'editor di immagini gimp:
snap find gimp
snap
cerca corrispondenze all'indizio di ricerca “gimp” e restituisce i risultati. Troverà tutto ciò che corrisponde o menziona il termine di ricerca.
Per installare uno dei pacchetti, utilizziamo il valore di Name
colonna, come mostrato di seguito:
sudo snap install gimp
Durante il download, la percentuale di completamento completata aumenta e una barra di avanzamento si sposta lentamente dalla sinistra della finestra del terminale. Al termine dell'installazione, viene visualizzato un messaggio (come mostrato di seguito) che indica che il pacchetto è stato installato.
Puoi usare il df
comando per verificare la capacità e l'utilizzo dei diversi file system configurati sul tuo computer Linux. Se convogliamo il suo output nel file grep
comando e ricerca di “gimp”, isoliamo la voce per il pacchetto che abbiamo appena installato.
Digitiamo quanto segue:
df | grep gimp
Questo ci mostra che il pacchetto snap è stato montato come se fosse un file system. Il punto di montaggio è nel snap
directory qui: /snap/gimp/252
. “252” è il numero di versione di questa versione di gimp
.
RELAZIONATO: Come usare il comando grep su Linux
Il file system è elencato come: /dev/loop18
. I file del dispositivo loop vengono utilizzati per rendere accessibili i file regolari come dispositivi a blocchi. Vengono generalmente utilizzati per montare i file system nelle immagini del disco. In questo caso, stanno montando il SquashFS
filesystem all'interno del snap
pacchetto. Il “18” significa che questo è il 18 /dev/loop
file del dispositivo in uso su questo computer Linux.
Possiamo usare il df
comando per verificarlo rapidamente. Useremo il – t
(tipo) opzione per limitare l'output a SquashFS
solo tipi di file.
Digitiamo quanto segue:
df -t squashfs
Il montato SquashFS
i file system sono elencati. UN /dev/loop
il file del dispositivo gestisce ciascuno di essi e ce ne sono 18.
Ogni file system è montato su una directory all'interno di /snap
directory. Tuttavia, ciò non significa che ci siano 18 differenti snap
pacchetti installati su questo computer. Questa è una distribuzione Ubuntu, quindi alcuni snap
i pacchetti vengono installati immediatamente e ne abbiamo appena installato un altro.
Inoltre, quando si installa snapd
, installa alcuni core snap
pacchetti per gestire le esigenze di altri snap
pacchi.
Possiamo usare il snap list
comando, come mostrato di seguito, per elencare l'installazione snap
pacchi:
snap list
L'output era un po 'ampio, quindi la fine degli elenchi è mostrata di seguito.
Ecco l'intero elenco:
Name Version Rev Tracking Publisher Notes core 16-2.43.3 8689 stable canonical* core core18 20200124 1668 stable canonical* base gimp 2.10.18 252 stable snapcrafters - gnome-3-26-1604 3.26.0.20191114 98 stable/… canonical* - gnome-3-28-1804 3.28.0-16-g27c9498.27c9498 116 stable canonical* - gnome-calculator 3.34.1+git1.d34dc842 544 stable/… canonical* - gnome-characters v3.32.1+git3.b9120df 399 stable/… canonical* - gnome-logs 3.34.0 81 stable/… canonical* - gnome-system-monitor 3.32.1-3-g0ea89b4922 127 stable/… canonical* - gtk-common-themes 0.1-28-g1503258 1440 stable/… canonical* -
Come puoi vedere, ci sono 10 pacchetti snap installati, non 18. Tuttavia, questi 10 pacchetti hanno dato origine a 18 SquashFS
file system. Le colonne della tabella sono abbastanza autoesplicative, ma ecco alcuni chiarimenti:
-
Nome: Il nome del
snap
pacchetto che è stato installato. -
Versione: Il numero di versione del software in
snap
pacchetto. -
Rev: Il numero di revisione del
snap
pacchetto. -
puntamento: Il canale questo
snap
monitor di pacchetti per gli aggiornamenti. Ce ne sono quattro:- Stabile: Il canale predefinito. Come indica il nome, questo canale contiene i pacchetti più stabili.
- Candidato: Questo canale è meno stabile, ma molto vicino ad esso perché contiene software di livello candidato alla release, che è completo di codice. Esegue i test finali prima di passare al canale stabile.
- Beta: Questo canale è in ritardo con la qualità del ciclo di sviluppo, ma non è garantito che sia stabile.
- Bordo: Per i tester di build precoce. Non dovresti usare questo canale per lavori importanti o su un computer di produzione. Ecco i draghi!
-
Editore: La persona, la società o l'organizzazione che ha rilasciato il
snap
pacchetto. Se era un editore verificato (e la finestra del tuo terminale supporta Unicode), vedrai un segno di spunta verde accanto al nome dell'editore. Se non è possibile mostrare un segno di spunta, vedrai un asterisco (*
). - Appunti: Eventuali commenti o informazioni aggiuntive verranno visualizzati qui.
I canali di snap
Puoi usare il info
opzione per ottenere una descrizione di a snap
pacchetto.
Per fare ciò, digitiamo quanto segue:
snap info gtk-common-themes
Possiamo vedere quale canale sta monitorando il pacchetto e la versione del software in snap
pacchetti in ciascuno dei quattro canali. Nella maggior parte dei casi, dovresti rimanere sul canale stabile.
UN snap
il pacchetto controlla quattro volte al giorno per vedere se è disponibile una versione più recente del software dal canale che sta guardando o “monitorando”. Se si desidera cambiare canale a snap
tracce del pacchetto, è possibile utilizzare il refresh
e --channel
opzioni.
Per fare ciò, digitiamo quanto segue:
sudo snap refresh gtk-common-themes --channel=beta
Se fosse disponibile una versione più recente del software, questo verrebbe installato, ma qui non era il caso. in ogni caso, il snap
il pacchetto ora sta monitorando il canale beta. Non appena viene rilasciata una nuova versione beta, questa viene automaticamente scaricata e aggiornata.
Puoi usare il --list
opzione per verificare se sono disponibili aggiornamenti per uno dei snap
pacchetti installati sul tuo computer.
Per fare ciò, digitiamo quanto segue:
sudo snap refresh --list
Ti verrà detto se qualcuno dei canali il snap
i pacchetti sul tuo computer che stanno monitorando contengono nuove versioni del software.
Se è disponibile una versione più recente del software, è possibile utilizzare refresh
opzione, come mostrato di seguito, per forzare manualmente un aggiornamento:
sudo snap refresh gtk-common-themes
Rimozione di un pacchetto snap
Per disinstallare a snap
pacchetto, è possibile utilizzare l'opzione di rimozione, come mostrato di seguito:
sudo snap remove gimp
Il cheat sheet a scatto
L'uso dei pacchetti di snap è piuttosto semplice, ma abbiamo compilato un elenco di alcuni comandi che ti aiuteranno:
-
Per cercare un pacchetto:
snap find package_name
-
Per installare un pacchetto:
sudo snap install package_name
-
Per vedere tutti i pacchetti installati:
snap list
-
Per ottenere informazioni su un singolo pacchetto:
snap info package_name
-
Per cambiare il canale che un pacchetto traccia per gli aggiornamenti:
sudo snap refresh package_name --channel=channel_name
-
Per vedere se gli aggiornamenti sono pronti per eventuali pacchetti installati:
sudo snap refresh --list
-
Per aggiornare manualmente un pacchetto:
sudo snap refresh package_name
-
Per disinstallare un pacchetto:
sudo snap remove package_name