InformaticaMondo LinuxSnapsnapdUbuntu

Snapd consente ora di installare versioni multiple della stessa applicazione Snap

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 versioni

snap 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-installs

Marco Giannini

Quello del pacco / fondatore di Marco’s Box