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

Questi post potrebbero interessarti

disqus

Licenza

Licenza Creative Commons
Quest'opera è distribuita con Licenza Creative Commons Attribuzione - Non commerciale - Non opere derivate 4.0 Internazionale. Questo blog non rappresenta una testata giornalistica, in quanto viene aggiornato senza alcuna periodicità. Non può, pertanto, considerarsi un prodotto editoriale, ai sensi della legge n. 62 del 7/03/2001.

Disclaimer immagini Le immagini utilizzate in questo blog appartengono ai loro rispettivi autori e sono utilizzati per scopi educativi, personali e senza scopo di lucro. Ogni eventuale violazione del copyright non è intenzionale, ma se si riconosce un'immagine protetta da copyright, fatemelo sapere qui, e sarò lieto di aggiungere i credits o modificarla o rimuoverla.

Disclaimer images Images used on this blog belong to their respective authors and are used for educational, personal and no profit purposes. Any eventual copyright infringement is not intentional, but if you recognize a copyrighted image, please let me know here, and I'll happily provide to add the right credits or modify or remove it.