Con una installazione tradizionale da repository è in genere possibile installare solo una singola istanza di una applicazione. Se vogliamo testare più istanze molto spesso ci tocca dover stare li a configurare noi il tutto per evitare di avere la stessa cartella di configurazione etc. Con gli snap questo è un compito abbastanza semplice.
Dalla versione 2.36 in poi, snapd supporta l'installazione parallela, una funzionalità che consente di disporre di più istanze dello stesso snap disponibile sul sistema, ciascuna isolata dalla altre, con le proprie configurazioni, interfacce, servizi ed altro.
Come funziona
Il primo passo è attivare un flag speciale che consente a snapd di gestire installazioni parallele:snap set system experimental.parallel-instances=true
Una volta completato questo passaggio è possibile procedere all'installazione del software. Quello che bisogna fare è aggiungere un identificatore univoco a ciascun nome di istanza di snap per distinguerla dagli altri. L'identificatore è una stringa alfanumerica, lunga fino a 10 caratteri, ed è aggiunta come suffisso al nome dello snap. Questo è un passaggio manuale e possiamo scegliere quello che vogliamo come identificatore.
Ad esempio possiamo dare un
snap install gimp_foggia
L'identificatore in questo caso è la parola foggia. Come potete vedere la sintassi è davvero molto semplice. Basta aggiungere al nome dell'applicativo da installare un underscore (_) seguito dall'identificativo scelto.
Possiamo anche dare comandi multipli. Ad esempio mettiamo il caso di voler installare due istanze di gimp. Possiamo dare
snap install gimp_first gimp_second
In questo modo Snapd scaricherà un solo pacchetto di GIMP e preparerà due istanze separate di GIMP.
Ovviamente possiamo rimuovere una qualsiasi istanza separatamente. Mettiamo il caso di voler rimuovere la seconda diamo
snap remove gimp_second
Istanze diverse, versioni diverse
Non solo possiamo avere più istanze, ma possiamo gestire separatamente il canale di rilascio di ogni istanza. Facciamo un esempio con VLC, un programma che sullo snap store offre diverse versionisnap info vlc
name: vlc
summary: The ultimate media player
…
channels:
stable: 3.0.7 2019-06-07 (1049) 212MB -
candidate: 3.0.7 2019-06-07 (1049) 212MB -
beta: 3.0.7.1-1-6-gdedb3bd 2019-06-18 (1071) 212MB -
edge: 4.0.0-dev-8388-gb425adb06c 2019-06-18 (1070) 329MB -
Come potete vedere VLC ha il canale stabile, quello candidate, il beta e l'edge e ad oggi offre una versione 3.0.7 ed una versione 4.0.0 in sviluppo.
Se hai già installato più istanze puoi aggiornarne una, ad esempio VLC_edge
snap refresh --edge vlc_edge
e possiamo, ad esempio, installare direttamente una versione diversa con istanza separata con
snap install --candidate vlc_second
Controllando la lista delle istanze installate avremo
snap list| grep vlc
vlc 3.0.7 1049 stable videolan* -
vlc_edge 4.0.0-dev-... 1070 edge videolan* -
vlc_second 3.0.7 1049 candidate videolan* -
Maggiori informazioni
Per maggiori informazioni sulle installazioni parallele di snapd vi invito a leggere la documentazione ufficiale https://docs.snapcraft.io/parallel-installsLeggi il contenuto originale su Marco's Box