Cum să lucrați cu pachetele Snap pe Linux

Când instalați pachete de software Linux cu snap, puteți spune la revedere iadului de dependență și distrugerea altor aplicații de lucru. Pachetele Snap au fost concepute inițial pentru Ubuntu, dar acum sunt disponibile pe o varietate de distribuții Linux.

Ce sunt pachetele Snap?

În trecut, instalarea aplicațiilor pe Linux era o experiență potențial frustrantă. Ai instala ceva doar pentru a descoperi că o anumită bibliotecă sau o altă dependență lipsește sau este învechită. Apoi ai căuta resursa lipsă și ai instala-o, doar pentru a găsi o altă aplicație care depindea de versiunea bibliotecii pe care tocmai ai înlocuit-o. Repară una, sparge una, repetă.

Acest lucru s-a îmbunătățit cu sisteme mai bune de gestionare a pachetelor, cum ar fi apt, dnf, și pacman. Cu toate acestea, vă confruntați în continuare cu o luptă dacă aveți nevoie de versiuni diferite ale aceleiași aplicații instalate. Sau, dacă utilizați două aplicații care se confruntă pentru că sunt legate de versiuni specifice, dar diferite, ale unei biblioteci.

O soluție la aceste probleme este ambalarea aplicațiilor și sistemele de implementare. Vioi este una dintre cele mai populare dintre acestea. Se bazează pe un sistem de ambalare și implementare numit Click, care aduce înapoi la Ubuntu Touch inițiativă. AppImage și Ambalaj plat sunt alții pe care poate i-ați întâlnit.

Aceste sisteme încapsulează aplicația împreună cu orice dependențe și alte cerințe într-un singur fișier comprimat. Aplicația rulează apoi într-un fel de mini-container. Este sandbox și separat de alte aplicații. Bibliotecile și alte resurse cu care este ambalată sau pe care le necesită aplicația sunt disponibile numai pentru aceasta.

Nu sunt instalate în sensul tradițional, așa că nu provoacă probleme cu alte aplicații care necesită versiuni diferite ale acelorași resurse. Puteți chiar să instalați și să rulați aplicații care necesită versiuni de bibliotecă conflictuale, deoarece fiecare aplicație se află în propriul sandbox.

Totuși, dacă nu sunt instalate în mod obișnuit, cum sunt gestionate? Ei bine, fișierul unic pachet este descărcat, decomprimat și montat ca SquashFSsistem de fișiere virtual. Vă este prezentat apoi ca un mediu virtual. Toate acestea au loc în culise. Tot ce vei ști este că ai instalat o aplicație și, acum, ai acces la ea.

Desigur, deoarece fiecare fișier pachet trebuie să conțină fiecare resursă de care are nevoie aplicația, fișierele pachetului pot fi mari. De asemenea, este ușor să duplicați o resursă pe care ați instala-o în mod normal o singură dată, cum ar fi MySQL sau Apache. Dacă două aplicații snap diferite necesită aceleași resurse, fiecare își aduce propria copie.

  Cum să curățați metadatele din fișiere pe Linux

Acesta este însă compromisul pentru simplitatea instalării și eliminarea durerilor de cap legate de conflictul de resurse.

Instalarea snapd

Snappy a fost introdus cu Ubuntu 16.04, așa că dacă rulați versiunea respectivă sau mai târziu, sunteți deja gata. Pe mașina noastră, Snappy a fost instalat pe Manjaro 18.04, dar a trebuit să-l instalăm pe Fedora 31.

snap este atât numele fișierelor pachet, cât și comanda pe care o utilizați pentru a interacționa cu acestea. În culise, demonul snapd este și numele pachetului pe care trebuie să-l instalați dacă nu aveți deja Snappy pe computer.

Pentru a instala snapd pe Fedora, tastați următoarea comandă:

sudo dnf install snapd

The

Dacă trebuie să îl instalați pe Manjaro, utilizați aceste comenzi:

sudo pacman -Sy snapd
sudo systemctl enable --now snapd.socket

Puteți utiliza comanda snap version pentru a vedea versiunea clientului snap, demonul snapd și numărul seriei software. Numele și ediția distribuției dvs. Linux și versiunea kernel-ului vă vor fi de asemenea afișate.

Introduceți următoarele:

snap version

The

Instalarea pachetelor snap

Este un proces destul de simplu de a instala un pachet snap. Puteți folosi snap pentru a căuta pachete snap, apoi instalați pe cel dorit.

Introducem următoarele pentru a căuta și a instala editorul de imagini gimp:

snap find gimp

The

face căutări rapide pentru potriviri cu indiciul de căutare „gimp” și returnează rezultatele acestuia. Va găsi orice se potrivește sau menționează termenul de căutare.

Pentru a instala unul dintre pachete, folosim valoarea din coloana Nume, după cum se arată mai jos:

sudo snap install gimp

The

Pe măsură ce se descarcă, procentajul completat crește și o bară de progres se strecoară în partea stângă a ferestrei terminalului. Când instalarea este finalizată, apare un mesaj (după cum se arată mai jos) care vă spune că pachetul a fost instalat.

A

Puteți folosi comanda df pentru verificați capacitatea și utilizarea a diferitelor sisteme de fișiere configurate pe computerul dvs. Linux. Dacă îi trimitem rezultatul în comanda grep și căutăm „gimp”, noi izolați intrarea pentru pachet tocmai am instalat.

Introducem următoarele:

df | grep gimp

The

Acest lucru ne arată că pachetul snap a fost montat ca și cum ar fi un sistem de fișiere. Punctul de montare se află în directorul snap aici: /snap/gimp/252. „252” este numărul de lansare al acestei versiuni de gimp.

  Cum se instalează ZFS pe Linux

Sistemul de fișiere este listat ca: /dev/loop18. Fișierele dispozitivului în buclă sunt utilizate pentru a face fișierele obișnuite accesibile ca dispozitive bloc. Ele sunt de obicei folosite pentru montarea sistemelor de fișiere în imagini de disc. În acest caz, ei montează sistemul de fișiere SquashFS în pachetul snap. „18” înseamnă că acesta este al 18-lea fișier de dispozitiv /dev/loop utilizat pe acest computer Linux.

Putem folosi comanda df pentru a verifica rapid acest lucru. Vom folosi opțiunea – t (tip) pentru a limita rezultatul numai la tipurile de fișiere SquashFS.

Introducem următoarele:

df -t squashfs

The

Sunt listate sistemele de fișiere SquashFS montate. Un fișier de dispozitiv /dev/loop se ocupă de fiecare dintre ele și există 18 dintre ele.

Fiecare sistem de fișiere este montat pe un director din directorul /snap. Cu toate acestea, acest lucru nu înseamnă că există 18 pachete snap diferite instalate pe acest computer. Aceasta este o distribuție Ubuntu, așa că unele pachete snap sunt instalate imediat din cutie și tocmai am instalat altul.

În plus, atunci când instalați snapd, instalează câteva pachete snap de bază pentru a face față nevoilor altor pachete snap.

Putem folosi comanda snap list, așa cum se arată mai jos, pentru a enumera pachetele snap instalate:

snap list

Ieșirea a fost puțin largă, așa că sfârșitul listărilor este afișat mai jos.

Iată întreaga listă:

Name                 Version                    Rev   Tracking  Publisher    Notes
core                 16-2.43.3                  8689  stable    canonical*   core
core18               20200124                   1668  stable    canonical*   base
gimp                 2.10.18                    252   stable    snapcrafters -
gnome-3-26-1604      3.26.0.20191114            98    stable/…  canonical*   -
gnome-3-28-1804      3.28.0-16-g27c9498.27c9498 116   stable    canonical*   -
gnome-calculator     3.34.1+git1.d34dc842       544   stable/…  canonical*   -
gnome-characters     v3.32.1+git3.b9120df       399   stable/…  canonical*   -
gnome-logs           3.34.0                     81    stable/…  canonical*   -
gnome-system-monitor 3.32.1-3-g0ea89b4922       127   stable/…  canonical*   -
gtk-common-themes    0.1-28-g1503258            1440  stable/…  canonical*   -

După cum puteți vedea, sunt instalate 10 pachete snap, nu 18. Cu toate acestea, aceste 10 pachete au dat naștere celor 18 sisteme de fișiere SquashFS. Coloanele din tabel sunt destul de explicite, dar iată câteva clarificări:

Nume: numele pachetului snap care a fost instalat.
Versiune: numărul versiunii software-ului din pachetul snap.
Rev: numărul de revizuire al pachetului snap.
Urmărire: canalul pe care acest pachet snap monitorizează pentru actualizări. Sunt patru:
Stabil: canalul implicit. După cum spune și numele, acest canal conține cele mai stabile pachete.
Candidat: Acest canal este mai puțin stabil, dar foarte aproape de el, deoarece conține software la nivel de lansare candidat, care este cod complet. Trece prin testarea finală înainte de a fi mutat pe canalul stabil.
Beta: acest canal are calitatea ciclului de dezvoltare târziu, dar nu este garantat că va fi stabil.
Edge: Pentru testeri timpurii. Nu ar trebui să utilizați acest canal pentru lucrări importante sau pe un computer de producție. Aici să fie dragoni!

  Cum să instalezi Asahi Linux pe Mac-ul tău Apple Silicon

Editor: persoana, compania sau organizația care a lansat pachetul snap. Dacă a fost un editor verificat (și fereastra terminalului dvs. acceptă Unicode), veți vedea o bifă verde lângă numele editorului. Dacă nu poate afișa o bifă, veți vedea un asterisc
.

Note: Orice comentarii sau informații suplimentare vor apărea aici.

Canalele snap

Puteți utiliza opțiunea de informații pentru a obține o descriere a unui pachet rapid.

snap info gtk-common-themes

Pentru a face acest lucru, introducem următoarele:

The

Putem vedea ce canal urmărește pachetul și versiunea software-ului din pachetele snap din fiecare dintre cele patru canale. În majoritatea circumstanțelor, ar trebui să rămâneți pe canalul stabil.

Un pachet snap verifică de patru ori pe zi pentru a vedea dacă o versiune mai nouă a software-ului este disponibilă de pe canalul pe care îl urmărește sau „urmărește”. Dacă doriți să schimbați canalul pe care un pachet snap urmărește, puteți utiliza opțiunile de reîmprospătare și –canal.

sudo snap refresh gtk-common-themes --channel=beta

Pentru a face acest lucru, introducem următoarele:

The

Dacă ar fi disponibilă o versiune mai nouă a software-ului, aceasta ar fi instalată, dar nu a fost cazul aici. Cu toate acestea, pachetul snap urmărește acum canalul beta. De îndată ce o nouă versiune beta este lansată, aceasta este descărcată și actualizată automat.

Puteți utiliza opțiunea –list pentru a verifica dacă sunt disponibile actualizări pentru oricare dintre pachetele snap instalate pe computer.

sudo snap refresh --list

Pentru a face acest lucru, introducem următoarele:

The

Vi se va spune dacă oricare dintre canalele pe care le urmăresc pachetele snap de pe computerul dvs. conține versiuni de software mai noi.

sudo snap refresh gtk-common-themes

Dacă este disponibilă o versiune mai nouă a software-ului, puteți utiliza opțiunea de reîmprospătare, așa cum se arată mai jos, pentru a forța manual o reîmprospătare:

The

Eliminarea unui pachet snap

sudo snap remove gimp

Pentru a dezinstala un pachet snap, puteți utiliza opțiunea de eliminare, după cum se arată mai jos:

The

Snap Cheat Sheet

Utilizarea pachetelor snap este destul de simplă, dar am compilat o listă cu câteva comenzi care vă vor ajuta:
Pentru a căuta un pachet: snap find package_name
Pentru a instala un pachet: sudo snap install package_name
Pentru a vedea toate pachetele instalate: lista rapidă
Pentru a obține informații despre un singur pachet: snap info package_name
Pentru a schimba canalul pe care un pachet urmărește pentru actualizări: sudo snap refresh package_name –channel=channel_name
Pentru a vedea dacă actualizările sunt gata pentru orice pachet instalat: sudo snap refresh –list
Pentru a actualiza manual un pachet: sudo snap refresh package_name

Pentru a dezinstala un pachet: sudo snap remove package_name