GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Un'introduzione per principianti allo snap al formato del pacchetto Linux universale

Introduzione

Cosa sono gli snap e perché dovresti usarli? L'ecosistema Linux ha sofferto di un vecchio problema sin dagli albori del concetto di "distribuzione", e quel
problema è la frammentazione. Uno dei maggiori problemi che causano questa frammentazione sono i diversi formati di pacchetto; Non riesco a eseguire i miei .debs sul mio sistema Fedora o i miei .rpms sulla mia macchina
Ubuntu. Sì, abbiamo alien, che dovrebbe consentire la transizione tra i due formati, ma ci sono due problemi con questo approccio:ci sono altri pacchetti
formati oltre a rpm e deb e inoltre, alien non funziona sempre come previsto . Quindi il problema è ancora lì, o dovrei dire, c'era. Entra in snap, il formato di pacchetto Linux
universale, che si sforza di offrire a utenti e sviluppatori un unico formato di pacchetto e facilità quando si tratta di creare nuovi pacchetti con le applicazioni e le librerie
che sono necessarie, assicurando che detti pacchetti sono facilmente condivisibili tra le distribuzioni. Dell, Samsung e la Linux Foundation sono citati come contributori, mentre tra le
distribuzioni supportate ci sono Fedora, Ubuntu, Arch o OpenSUSE.

Questo articolo descriverà in dettaglio come utilizzare gli snap come utente semplice, nonché istruzioni per sviluppatori/packer
su come creare snap per l'utilizzo da parte di altri. Il sistema operativo che utilizzeremo è Ubuntu 16.04, ma le istruzioni seguenti non dovrebbero essere difficili da adattare ad altre distribuzioni.

Snap come utente semplice

Questa parte ti darà una panoramica di Snap dal punto di vista dell'utente:come installare gli strumenti necessari e come usarli per l'uso quotidiano
di base. Innanzitutto, devi installare snapcraft, un pacchetto che fornisce snap, lo strumento di riferimento per le suddette operazioni quotidiane:

 $ sudo apt install snapcraft

È tutto. Ora, prima di andare oltre, parliamo di alcuni dettagli:in primo luogo, le applicazioni offerte come snap sono contenitori isolati, il che aiuta molto in termini di consumo di risorse
e di sicurezza. Troverai tutto installato da snap in /snap/ , che a sua volta ha una propria gerarchia :/snap/bin , /snap/lib e così via. In secondo luogo,
ricevi gli aggiornamenti automaticamente. Terzo, pensa agli snap come complementari ai pacchetti Linux esistenti, non come sostituti (beh, non ora, comunque).

E infine, gli snap sono facilmente
integrabili con il software installato, sfruttando le librerie esistenti tramite le interfacce.
Come dicevamo in passato, non c'è alcun sostituto per il manuale. Quindi, mentre ti faremo un tour, se vuoi approfondire dovrai leggere un po' da solo. Quindi
cominciamo con le operazioni di snap di base:se vuoi cercare un pacchetto, fallo

 $ snap find hello

Qui, "ciao" è la stringa di esempio che stiamo cercando. Andando oltre con la stessa stringa, installiamo qualcosa :

 $ sudo snap install hello

Puoi visualizzare gli snap installati con 'elenco' :

 $ snap list

Aggiorna con aggiornamento, tutto ciò che hai installato o solo alcuni snap :

 $ sudo snap refresh
OR
 $ sudo snap refresh hello

La novità (sì, puoi ripristinare con yum per esempio, e non solo, ma non sempre funziona come vuoi) è il comando 'revert':

$ sudo snap revert hello

Utilizzo di snap come sviluppatore

Preparazione

Innanzitutto, vediamo di cosa hai bisogno per iniziare a creare snap. Lo strumento del mestiere è
chiamato snapd e su Ubuntu e Debian è semplice come

$ sudo apt install snapd snapcraft

mentre su Fedora puoi fare

 $ sudo dnf copr enable zyga/snapcore
 $ sudo dnf install snapd
 $ sudo systemctl enable --now snapd.service
 $ sudo setenforce 0
 $ sudo $editor /etc/selinux/config #set SELINUX=permissive and reboot to make SELINUX settings permanent

e basta. Tuttavia, c'è un problema. Sebbene questi strumenti funzionino con la maggior parte delle principali distribuzioni Linux, snapcraft, lo strumento che installeremo e utilizzeremo in modo da poter imparare a creare snap, è disponibile nei repository di Ubuntu e AUR, per quanto ne sappiamo. Il resto degli
utenti Linux dovrà semplicemente clonare il repository git (https://github.com/snapcore/snapcraft) e compilarlo.

Fare il tour e creare uno snap

Prima di continuare, tieni presente che i tuoi snap (o quelli esistenti) saranno e sono molto
più grandi dei pacchetti di repository corrispondenti. Come mai? Perché contengono anche tutte le dipendenze necessarie per il funzionamento dei programmi, quindi
sono autosufficienti, in un certo senso. Dopo aver installato snapcraft, ti consigliamo di fare il tour :

 $ snapcraft tour

Questo comando inizializzerà alcune directory e sottodirectory (per impostazione predefinita in ./snapcraft-tour ) e otterrai codice sorgente
campioni, istruzioni e passaggi numerati che ti guideranno attraverso le nozioni di base. Ad esempio, il primo passo è, in quale altro modo?,
ciao mondo. Digita

 $ cd snapcraft-tour/00-SNAPCRAFT/01-easy-start

e vedrai solo il file .yaml lì dentro, che fondamentalmente è il file che descrive lo snap. Dai un'occhiata, vedrai
che definisce il nome, cosa recuperare, da dove, quale applicazione risulterà e così via. Successivamente, corri

 $ snapcraft

all'interno della directory sopra e farà tutto il necessario e ti darà un attimo. Detto snap può essere installato, a condizione che tu sia ancora
nella directory menzionata sopra, con

 $ sudo snap install ./hello*.snap

Prenditi del tempo per giocare con il file .yaml (farne una copia è sempre una buona idea), guarda cosa succede se modifichi alcune
variabili lì e scopri come le tue modifiche influenzano la creazione dello snap. Ricorda che puoi sempre distribuire il tuo snap ai
tuoi amici o creare un repository per esso. Un'ultima nota:la sezione "sorgente" in .yaml ha un URL come valore, ma puoi anche
avere un valore locale, ad es. ./src/my_dep/ .

Ultime parole

Abbiamo appena scalfito la superficie con gli snap, intendiamoci, ma c'è molto da imparare e cose interessanti da fare con gli
scatti! L'eterno problema di avere software impacchettato solo come, ad esempio, RPM e dare agli utenti mal di testa quando necessario su Debian, per
ad esempio, sembra essere finito. Come sempre, ti incoraggiamo a giocare con gli snap, crearne alcuni e non dimenticare di condividerli! Buon divertimento!


Ubuntu
  1. Un'introduzione all'uso di tcpdump nella riga di comando di Linux

  2. Introduzione ai comandi Linux chgrp e newgrp

  3. Introduzione al comando Linux chmod

  4. Introduzione al comando chown di Linux

  5. Introduzione al comando alternatives in Linux

Cylon-deb:il programma di manutenzione di Debian Linux

Come elencare il contenuto di un pacchetto in Linux

Come gestire gli snap in Linux – Parte 2

Snap vs Flatpak vs AppImage:conosci le differenze | Che è migliore

Come installare Snap Package Manager su Rocky Linux 8

Come installare Snap Package Manager nelle distribuzioni Linux