Una guia per a principiants de Snaps a Linux - Part 1


En els darrers anys, la comunitat Linux ha estat beneïda amb alguns avenços notables en l'àrea de la gestió de paquets en sistemes Linux, especialment quan es tracta d'empaquetament i distribució de programari universal o de distribució creuada. Un d'aquests avenços és el format de paquet Snap desenvolupat per Canonical, els fabricants del popular Ubuntu Linux.

Els Snaps són aplicacions de distribució creuada, lliures de dependències i fàcils d'instal·lar empaquetades amb totes les seves dependències per executar-se a totes les distribucions principals de Linux. Des d'una única compilació, s'executarà una instantània (aplicació) a totes les distribucions de Linux admeses a l'escriptori, al núvol i IoT. Les distribucions admeses inclouen Ubuntu, Debian, Fedora, Arch Linux, Manjaro i CentOS/RHEL.

Els snaps són segurs: estan confinats i en caixa de sorra de manera que no comprometin tot el sistema. Funcionen sota diferents nivells de confinament (que és el grau d'aïllament del sistema base i entre ells). Més notablement, cada snap té una interfície acuradament seleccionada pel creador de l'snap, en funció dels requisits de l'snap, per proporcionar accés a recursos específics del sistema fora del seu confinament, com ara l'accés a la xarxa, l'accés a l'escriptori i molt més.

Un altre concepte important en l'ecosistema snap són els canals. Un canal determina quina versió d'un complement s'instal·la i es fa un seguiment per a les actualitzacions i consta de pistes, nivells de risc i branques i es subdivideix en aquestes.

Els components principals del sistema de gestió de paquets snap són:

  • snapd: el servei de fons que gestiona i manté els vostres snaps en un sistema Linux.
  • snap: tant el format del paquet de l'aplicació com l'eina d'interfície de línia d'ordres que s'utilitzen per instal·lar i eliminar snaps i fer moltes altres coses a l'ecosistema snap.
  • snapcraft: el marc i una potent eina de línia d'ordres per crear snaps.
  • Snap Store: un lloc on els desenvolupadors poden compartir els seus snaps i els usuaris de Linux les cerquen i instal·len.

A més, els snaps també s'actualitzen automàticament. Podeu configurar quan i com es produeixen les actualitzacions. De manera predeterminada, el dimoni snapd cerca actualitzacions fins a quatre vegades al dia: cada verificació d'actualització s'anomena actualització. També podeu iniciar manualment una actualització.

Com instal·lar Snapd a Linux

Tal com s'ha descrit anteriorment, el dimoni snapd és el servei en segon pla que gestiona i manté el vostre entorn snap en un sistema Linux, mitjançant la implementació de les polítiques de confinament i el control de les interfícies que permeten als snaps accedir a recursos específics del sistema. També proporciona l'ordre snap i serveix per a molts altres propòsits.

Per instal·lar el paquet snapd al vostre sistema, executeu l'ordre adequat per a la vostra distribució de Linux.

------------ [On Debian and Ubuntu] ------------ 
$ sudo apt update 
$ sudo apt install snapd

------------ [On Fedora Linux] ------------
# dnf install snapd			

------------ [On CentOS and RHEL] ------------
# yum install epel-release 
# yum install snapd		

------------ [On openSUSE - replace openSUSE_Leap_15.0 with the version] ------------
$ sudo zypper addrepo --refresh https://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_15.0 snappy
$ sudo zypper --gpg-auto-import-keys refresh
$ sudo zypper dup --from snappy
$ sudo zypper install snapd

------------ [On Manjaro Linux] ------------
# pacman -S snapd

------------ [On Arch Linux] ------------
# git clone https://aur.archlinux.org/snapd.git
# cd snapd
# makepkg -si

Després d'instal·lar snapd al vostre sistema, activeu la unitat systemd que gestiona el sòcol de comunicació principal snap, utilitzant les ordres systemctl de la següent manera.

A Ubuntu i els seus derivats, això hauria de ser activat automàticament per l'instal·lador de paquets.

$ sudo systemctl enable --now snapd.socket

Tingueu en compte que no podeu executar l'ordre snap si el snapd.socket no s'està executant. Executeu les ordres següents per comprovar si està actiu i està habilitat per iniciar-se automàticament a l'arrencada del sistema.

$ sudo systemctl is-active snapd.socket
$ sudo systemctl status snapd.socket
$ sudo systemctl is-enabled snapd.socket

A continuació, activeu el suport d'ajustament clàssic creant un enllaç simbòlic entre /var/lib/snapd/snap i /snap de la manera següent.

$ sudo ln -s /var/lib/snapd/snap /snap

Per comprovar la versió de l'eina de línia d'ordres snapd i snap instal·lada al vostre sistema, executeu l'ordre següent.

$ snap version 

Com instal·lar Snaps a Linux

L'ordre snap us permet instal·lar, configurar, actualitzar i eliminar snaps i interactuar amb l'ecosistema snap més gran.

Abans d'instal·lar un snap, podeu comprovar si existeix a la botiga snap. Per exemple, si l'aplicació pertany a la categoria de \servidors de xat o \reproductors multimèdia\, podeu executar aquestes ordres per cercar-la, que demanarà a la botiga els paquets disponibles al canal estable.

$ snap find "chat servers"
$ snap find "media players"

Per mostrar informació detallada sobre un snap, per exemple, rocketchat-server, podeu especificar-ne el nom o la ruta. Tingueu en compte que els noms es busquen tant a la botiga de snap com als snaps instal·lats.

$ snap info rocketchat-server

Per instal·lar un snap al vostre sistema, per exemple, rocketchat-server, executeu l'ordre següent. Si no es proporciona cap opció, s'instal·la un complement que segueix el canal \estable, amb un estricte confinament de seguretat.

$ sudo snap install rocketchat-server

Podeu optar per instal·lar des d'un canal diferent: edge, beta o candidat, per un motiu o un altre, utilitzant --edge, --beta o --candidate opcions respectivament. O utilitzeu l'opció --channel i especifiqueu el canal des del qual voleu instal·lar-lo.

$ sudo snap install --edge rocketchat-server        
$ sudo snap install --beta rocketchat-server
$ sudo snap install --candidate rocketchat-server

Gestioneu els Snaps a Linux

En aquesta secció, aprendrem a gestionar els snaps al sistema Linux.

Per mostrar un resum dels snaps instal·lats al vostre sistema, utilitzeu l'ordre següent.

$ snap list

Per llistar la revisió actual d'un snap que s'està utilitzant, especifiqueu-ne el nom. També podeu llistar totes les seves revisions disponibles afegint l'opció --all.

$ snap list mailspring
OR
$ snap list --all mailspring

Podeu actualitzar un snap especificat o tots els snap del sistema si no n'especifica cap de la manera següent. L'ordre d'actualització comprova el canal que segueix el snap i baixa i instal·la una versió més nova del snap si està disponible.

$ sudo snap refresh mailspring
OR
$ sudo snap refresh		#update all snaps on the local system

Després d'actualitzar una aplicació a una versió nova, podeu tornar a una versió utilitzada anteriorment mitjançant l'ordre revert. Tingueu en compte que les dades associades amb el programari també es revertiran.

$ sudo snap revert mailspring

Ara, quan comproveu totes les revisions de mailspring, la darrera revisió està desactivada, una revisió utilitzada anteriorment ara està activa.

$ snap list --all mailspring

Podeu desactivar un complement si no voleu utilitzar-lo. Quan estigui desactivat, els binaris i els serveis d'un snap ja no estaran disponibles, però totes les dades continuaran allà.

$ sudo snap disable mailspring

Si necessiteu tornar a utilitzar l'ajustament, podeu tornar a activar-lo.

$ sudo snap enable mailspring

Per eliminar completament un snap del vostre sistema, feu servir l'ordre remove. De manera predeterminada, s'eliminen totes les revisions d'un snap.

$ sudo snap remove mailspring

Per eliminar una revisió específica, utilitzeu l'opció --revision de la següent manera.

$ sudo snap remove  --revision=482 mailspring

És clau tenir en compte que quan elimineu una instantània, snapd (versió 2.39 i posterior) desa les seves dades (com ara dades internes d'usuari, sistema i configuració) com a instantània i s'emmagatzemen al sistema durant 31 dies. En cas que torneu a instal·lar el complement dins dels 31 dies, podeu restaurar les dades.

Els snaps són cada cop més populars a la comunitat Linux, ja que proporcionen una manera fàcil d'instal·lar programari a qualsevol distribució de Linux. En aquesta guia, hem mostrat com instal·lar i treballar amb snaps a Linux. Hem explicat com instal·lar snapd, instal·lar snaps, veure els snaps instal·lats, actualitzar i revertir snaps, i desactivar/activar i eliminar els snaps.

Pots fer preguntes o posar-te en contacte amb nosaltres mitjançant el formulari de comentaris a continuació. A la següent part d'aquesta guia, tractarem la gestió de les instantànies (ordres, àlies, serveis i instantànies) a Linux.