GNU/Linux >> Linux Esercitazione >  >> Fedora

Come installare e utilizzare gli snap su Fedora

Sviluppato da Canonical, la società dietro Ubuntu, e originariamente pensato per essere utilizzato su quest'ultimo, Snappy Package Manager è un software gratuito e open source utilizzato per installare e gestire i pacchetti snap. Lo scopo dei pacchetti Snap, proprio come i flatpak, è quello di distribuire applicazioni sandbox e autonome (le applicazioni sono impacchettate insieme alle loro dipendenze).

Il gestore di pacchetti Snappy e la sua infrastruttura sono approdati su distribuzioni diverse da Ubuntu. In questo tutorial vediamo come installarlo e usarlo sull'ultima versione di Fedora.

In questo tutorial imparerai:

  • Come installare il gestore di pacchetti snap
  • Come cercare i pacchetti nello snap store
  • Come installare e aggiornare i pacchetti snap
  • Come elencare i pacchetti snap installati
  • Come creare e gestire gli snapshot di un pacchetto
  • Come rimuovere i pacchetti snap

Requisiti software e convenzioni utilizzati

Requisiti software e convenzioni della riga di comando Linux
Categoria Requisiti, convenzioni o versione del software utilizzata
Sistema Indipendente dalla distribuzione
Software scatta
Altro Privilegi di root per gestire il software
Convenzioni # – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando sudo comando
$ – richiede l'esecuzione di determinati comandi linux come un normale utente non privilegiato

Installazione

Per utilizzare il gestore di pacchetti Snappy su Fedora, la prima cosa che dobbiamo fare è installare il pacchetto contenente il software. Fortunatamente per noi, è una cosa molto facile da fare, dal momento che è disponibile nei repository ufficiali di Fedora. Possiamo eseguire l'installazione graficamente o utilizzando il dnf gestore di pacchetti dal nostro amato emulatore di terminale. Ecco il comando che vogliamo eseguire:

$ sudo dnf install snapd

Lo snap-confine e snapd-selinux vengono installati come dipendenze di snapd:il primo contiene il software utilizzato per applicare il confinamento alle applicazioni snap, mentre il secondo fornisce la politica che consente a snapd di funzionare correttamente sotto SELinux. Come parte dell'installazione, snapd.socket è abilitato utilizzando systemd.

Ricerca di pacchetti

Il modo in cui interagiamo con i pacchetti snap è usando lo snap applicazione. Una delle azioni più basilari che dobbiamo eseguire è scoprire se un software specifico è disponibile nello snap store. Per compiere questa azione possiamo usare il comando snap "trova" o "cerca" (quest'ultimo è un alias per il primo). Supponiamo di voler installare il pacchetto snap "gimp". Per vedere se l'applicazione è disponibile, possiamo eseguire:

$ snap find gimp

Come puoi vedere, il comando non richiede privilegi di amministratore. Restituisce il seguente output:

Name                    Version  Publisher        Notes  Summary                                    
gimp                    2.10.28  snapcrafters     -      GNU Image Manipulation Program             
gutenprint-printer-app  1.0      openprinting✓    -      Gutenprint Printer Application             
photogimp               2.10.20  pedro.ermarinho  -      Patch para o GIMP                          
djpdf                   0.1.6    unrud            -      Create small, searchable PDFs from scanned documents                                                                                           
lazpaint                7.1.6    chronoscz        -      Image editor with raster and vector layers.

Vengono restituite informazioni sui pacchetti disponibili che corrispondono ai nostri criteri di ricerca:

  • Il nome del pacchetto
  • La versione del pacchetto snap
  • L'editore snap
  • Eventuali note sul pacchetto
  • Una breve descrizione del pacchetto

Installazione dei pacchetti snap

Per installare un pacchetto snap, tutto ciò che dobbiamo fare è usare il comando snap "install". Ad esempio, supponiamo di voler installare gimp applicazione che abbiamo cercato nel passaggio precedente. Ecco il comando da eseguire:

$ sudo snap install gimp

Per impostazione predefinita, se non diversamente specificato, i pacchetti vengono installati dal canale "stabile". Una volta eseguito il comando sopra, possiamo tenere traccia dell'avanzamento dell'installazione leggendo l'output del terminale:

2022-03-29T14:25:15+02:00 INFO Waiting for automatic snapd restart...
gimp 2.10.28 from Snapcrafters installed

Le versioni recenti degli snap supportano la modalità "confinamento classico". Quando un pacchetto snap viene installato in questa modalità, in realtà non confinato, in modo che possa accedere alle risorse sul sistema host. Se vogliamo installare un pacchetto in questa modalità, dobbiamo eseguire il comando "install" con il --classic opzione.

I file relativi ai pacchetti snap e alle loro dipendenze vengono distribuiti sul sistema utilizzando SquashFS di sola lettura, sotto forma di dispositivi loop, che sono montati nelle directory corrispondenti sotto /var/lib/snapd . Possiamo vederlo chiaramente dando un'occhiata all'output di lsblk comando:

$ lsblk
NAME                   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0                    7:0    0  43.6M  1 loop /var/lib/snapd/snap/snapd/15177
loop1                    7:1    0  55.5M  1 loop /var/lib/snapd/snap/core18/2344
loop2                    7:2    0     4K  1 loop /var/lib/snapd/snap/bare/5
loop3                    7:3    0  65.2M  1 loop /var/lib/snapd/snap/gtk-common-themes/1519
loop4                    7:4    0 164.8M  1 loop /var/lib/snapd/snap/gnome-3-28-1804/161
loop5                    7:5    0 391.3M  1 loop /var/lib/snapd/snap/gimp/383

Esiste un dispositivo di blocco loop per ogni pacchetto snap installato. Nel caso dello snap "gimp", se controlliamo il contenuto del /var/lib/snapd/snap/gimp/383 mountpoint (383 è la revisione del pacchetto snap – è possibile installare più revisioni contemporaneamente), possiamo vedere un intero albero di filesystem che ospita i file dell'applicazione:

$ ls /var/lib/snapd/snap/gimp/383
bin data-dir etc lib meta sbin snap usr var

Per poter avviare l'applicazione proprio come faremmo dopo l'installazione di un pacchetto nativo del sistema, il /var/lib/snapd/snap/bin la directory deve essere aggiunta al nostro PATH . Questo dovrebbe essere fatto automaticamente come parte dell'installazione di snapd. Possiamo verificarlo, controllando il valore della variabile:

$ echo $PATH
/home/egdoc/.local/bin:/home/egdoc/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/var/lib/snapd/snap/bin

Aggiornamento di un pacchetto

Più revisioni di un pacchetto snap possono coesistere contemporaneamente. Abbiamo visto brevemente come la revisione attualmente installata del pacchetto gimp snap sia 383. La versione attiva corrente è collegata simbolicamente a /var/lib/snapd/snap/<package>/current . Nel caso di gimp:

$ ls -l /var/lib/snapd/snap/gimp
drwxr-xr-x. 11 root root 146 Nov 8 17:14 383
lrwxrwxrwx. 1 root root 3 Mar 29 14:27 current -> 383

Per verificare se è disponibile una nuova revisione di un pacchetto snap e aggiornarlo, possiamo utilizzare il refresh comando. In questo caso, se proviamo ad aggiornare il pacchetto gimp, ci viene notificato che non sono disponibili aggiornamenti:

$ sudo snap refresh gimp
snap "gimp" has no updates available

Se utilizziamo il refresh comando senza specificare un nome di pacchetto come argomento, l'applicazione verificherà la presenza di aggiornamenti per tutti i pacchetti snap installati sul sistema.

Elenco dei pacchetti snap installati

Per ottenere un rapporto sui pacchetti snap attualmente installati, tutto ciò che dobbiamo fare è utilizzare il comando "list" dell'utilità snap. Vediamo un esempio del comando in azione:

$ snap list
Name               Version                     Rev    Tracking       Publisher     Notes
bare               1.0                         5      latest/stable  canonical✓    base
core18             20220309                    2344   latest/stable  canonical✓    base
gimp               2.10.28                     383    latest/stable  snapcrafters  -
gnome-3-28-1804    3.28.0-19-g98f9e67.98f9e67  161    latest/stable  canonical✓    -
gtk-common-themes  0.1-59-g7bca6ae             1519   latest/stable  canonical✓    -
snapd              2.54.4                      15177  latest/stable  canonical✓    snapd

Abbiamo installato esplicitamente "gimp", quindi tutti gli altri pacchetti sono stati installati come dipendenze o come "core" dell'infrastruttura snap. Un segno di spunta dopo il nome dell'editore del pacchetto significa che è stato verificato.

Creazione e gestione degli snapshot dei pacchetti

Una caratteristica interessante dell'ecosistema del pacchetto snap è la possibilità di creare snapshot di sistema, utente e dati di configurazione associati a un pacchetto. Le istantanee vengono create automaticamente quando viene rimosso un pacchetto snap, ma possono anche essere create manualmente con il save comando. Per creare un'istantanea del pacchetto "gimp", ad esempio, eseguiremo:

$ sudo snap save gimp

Se non forniamo un nome di pacchetto come argomento per il comando di salvataggio, vengono create le istantanee per tutto il pacchetto esistente. Per ottenere un elenco degli snapshot esistenti sul sistema, possiamo utilizzare il saved comando:

$ sudo snap saved
Set  Snap             Age    Version                     Rev  Size    Notes
1    gimp             20.0m  2.10.28                     383   134kB  auto
3    gnome-3-28-1804  10.4m  3.28.0-19-g98f9e67.98f9e67  161    124B  -

Nell'output del comando possiamo vedere informazioni molto utili come lo snapshot id e la sua età . Per ripristinare uno snapshot utilizziamo il restore comando e facciamo riferimento allo snapshot che vogliamo ripristinare con il suo id. Per ripristinare lo snapshot gimp che vediamo nell'output dell'esempio precedente, eseguiremo:

$ sudo snap restore 1
Restored snapshot #1.

Infine, per rimuovere manualmente uno snapshot esistente, utilizziamo forget comando. Ecco cosa eseguiremmo per rimuovere lo snapshot gimp:

$ sudo snap forget 1
Snapshot #1 forgotten.

Rimozione dei pacchetti snap

Intuitivamente, per rimuovere un pacchetto snap precedentemente installato, dobbiamo usare remove comando. Per impostazione predefinita, un pacchetto viene rimosso con tutte le revisioni installate. Se vogliamo rimuovere una specifica revisione di un pacchetto dobbiamo passarla come argomento al --revision opzione. Quando si specifica una revisione, per rimuoverla, non deve essere quella "attiva", quindi se si tenta di utilizzare l'opzione quando si tratta di una sola versione di un pacchetto snap, il comando fallirà. Supponendo di voler rimuovere il pacchetto "gimp" che abbiamo installato in questo tutorial, ad esempio, eseguiremo:

$ sudo snap remove gimp

Oppure, nel caso esistano più revisioni:

$ sudo snap remove gimp --revision 383

Gli snapshot del pacchetto snap non vengono rimossi quando rimuoviamo il pacchetto (un'istantanea viene effettivamente creata quando il pacchetto viene rimosso). Per forzarne la rimozione, possiamo passare il --purge opzione per remove comando. Per rimuovere "gimp" con tutti gli snapshot associati, ad esempio, eseguiremo:

$ sudo snap remove --purge gimp

Conclusione

In questo tutorial abbiamo imparato come usare i pacchetti snap su Fedora. L'ecosistema dei pacchetti snap è stato originariamente sviluppato da Canonical per Ubuntu, ma poi è diventato disponibile anche su altre distribuzioni. Abbiamo imparato come cercare, installare, aggiornare e disinstallare i pacchetti snap su Fedora e come gestire gli snapshot dei pacchetti snap. Sebbene i pacchetti snap funzionino su Fedora, la tecnologia predefinita per le applicazioni autonome utilizzate sulla distribuzione è flatpak:se vuoi saperne di più e imparare ad usarlo, puoi dare un'occhiata al nostro tutorial sull'argomento.


Fedora
  1. Come installare e utilizzare Snap Package Manager su Ubuntu 20.04

  2. Come installare e utilizzare Snap Package Manager su Alma Linux 8

  3. Come installare e configurare Redis 6 su Fedora 34

  4. Come installare e configurare Ansible su Fedora 35

  5. Come installare Python 2 e Python 3 su Fedora 35

Come installare Snap &Snap-Store (Snapcraft) su Fedora 35

Come installare e utilizzare Telnet su Fedora 35

Come installare Snap su Fedora 35

Come installare Vai su Fedora 35

Come installare e utilizzare Snapcraft su Linux

Come installare e utilizzare Snapd su Debian 11