Cum să lucrați cu pachetele Snap pe Linux

Publicat: 2022-01-29
Ubuntu

Când instalați pachete software Linux cu snap , puteți spune la revedere iadului de dependență și spargeți alte aplicații care funcționează. 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. Snappy este unul dintre cele mai populare dintre acestea. Se bazează pe un sistem de ambalare și implementare numit Click, care se referă la inițiativa Ubuntu Touch. AppImage și FlatPack sunt altele pe care le-ați putea întâlni.

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.

Publicitate

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 sistem de fișiere virtual SquashFS . 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 o instalați î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.

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 

Publicitate

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

 sudo pacman -Sy snapd
 sudo systemctl enable --acum 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:

 versiune snap 

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 instala editorul de imagini gimp:

 snap find gimp 

face căutări snap 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 Name , după cum se arată mai jos:

 sudo snap install gimp 

Publicitate

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.

Puteți utiliza comanda df pentru a verifica capacitatea și utilizarea diferitelor sisteme de fișiere configurate pe computerul dvs. Linux. Dacă trimitem rezultatul său în comanda grep și căutăm „gimp”, izolăm intrarea pentru pachetul pe care tocmai l-am instalat.

Introducem următoarele:

 df | grep gimp 

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 .

LEGATE: Cum să utilizați comanda grep pe Linux

Sistemul de fișiere este listat ca: /dev/loop18 . Fișierele dispozitivului în buclă sunt folosite 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 

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.

Publicitate

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:

 listă rapidă 

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

Iată întreaga listă:

 Nume Versiune Rev Tracking Note editorului
miez 16-2.43.3 8689 stabil canonic* miez
core18 20200124 1668 stabil canonic* baza
gimp 2.10.18 252 snapcrafters stabil -
gnome-3-26-1604 3.26.0.20191114 98 stabil/... canonic* -
gnome-3-28-1804 3.28.0-16-g27c9498.27c9498 116 stabil canonic* -
gnome-calculator 3.34.1+git1.d34dc842 544 stabil/... canonical* -
gnome-characters v3.32.1+git3.b9120df 399 stabil/... canonic* -
gnome-logs 3.34.0 81 stabil/... canonic* -
gnome-system-monitor 3.32.1-3-g0ea89b4922 127 stabil/... canonic* -
gtk-common-themes 0.1-28-g1503258 1440 stabil/... canonic* -

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!
  • 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 info pentru a obține o descriere a unui pachet snap .

Pentru a face acest lucru, introducem următoarele:

 snap info gtk-common-themes 

Publicitate

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 refresh și --channel .

Pentru a face acest lucru, introducem următoarele:

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

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.

Pentru a face acest lucru, introducem următoarele:

 sudo snap refresh --list 

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.

Publicitate

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

 sudo snap refresh gtk-common-themes 

Eliminarea unui pachet snap

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

 sudo snap remove gimp 

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: snap list
  • Pentru a obține informații despre un singur pachet: snap info package_name
  • Pentru a schimba canalul pe care un pachet îl 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

LEGATE: Cele mai bune laptopuri Linux pentru dezvoltatori și entuziaști