Ce trebuie să știți despre Snaps pe Ubuntu 20.04

Ubuntu 20.04 Focal Fossa, o versiune apreciată pe scară largă, a introdus o schimbare majoră: adoptarea pachetelor snap ca metodă principală de instalare a aplicațiilor, o decizie care a stârnit discuții aprinse. Vă vom explica implicațiile acestei modificări pentru utilizatorii sistemului de operare.

Ce sunt pachetele Snap?

Termenul „snap” se referă atât la comanda snap, cât și la fișierul de instalare propriu-zis. Un snap este un container autonom care include o aplicație și toate dependențele acesteia – biblioteci, servere, baze de date sau orice altceva necesar pentru funcționarea sa.

Principalul avantaj al pachetelor snap constă în simplificarea procesului de instalare, eliminând problema „iadului dependențelor”. Aceasta este o situație în care o aplicație nu poate fi rulată din cauza lipsei unei resurse necesare, a unei versiuni greșite a acesteia sau a conflictelor de fișiere cu alte aplicații.

În timpul instalării, un snap este dezarhivat, iar fișierele sale sunt extrase. La rulare, fișierul snap este montat pe un dispozitiv loopback, permițând accesul la sistemul de fișiere intern SquashFS. Aplicația rulează într-un mediu izolat, astfel încât fișierele sale nu interferează cu celelalte fișiere de pe computer. Ba mai mult, este posibilă instalarea mai multor versiuni ale aceleiași aplicații, fără riscul conflictelor.

Cu toate acestea, pachetele snap vin și cu dezavantaje. Fișierele de instalare sunt mai mari decât cele tradiționale (DEB), și ocupă mai mult spațiu pe hard disk. Fiecare aplicație care necesită o anumită resursă instalează propria copie, ceea ce nu este cea mai eficientă utilizare a spațiului. În plus, lansarea aplicațiilor snap este mai lentă. Unii utilizatori critică lipsa de consistență cu tema desktopului și actualizările automate. De asemenea, există preocupări legate de faptul că nu toate snaps-urile sunt create de autorii software-ului, deci nu sunt considerate 100% oficiale.

În Ubuntu 20.04, Canonical a înlocuit aplicația Ubuntu Software cu o versiune care instalează pachete snap implicit. Ce înseamnă asta pentru tine?

Magazinul de Software Ubuntu: O nouă abordare

Pentru a observa sistemele de fișiere SquashFS montate pe calculator, putem folosi comanda ‘df’, filtrând rezultatul cu opțiunea ‘-t’ pentru sistemele care ne interesează:

df -t squashfs

Comanda ‘snap list’ afișează pachetele snap instalate:

snap list

Rezultatul va arăta pachete snap legate de desktopul GNOME, funcționalitatea de bază, teme GTK și magazinul snap. Aplicația snap-store este, evident, și ea un snap.

Interesant este că, dacă rulezi comanda „snap-store” într-o fereastră de terminal, se va lansa exact aplicația Ubuntu Software. Deși, de obicei, ai accesa aplicația din iconița sa, lansarea din linia de comandă demonstrează că, în realitate, este aplicația snap-store care rulează.

snap-store

Aplicația Ubuntu Software are un aspect familiar, iar căutarea și instalarea software-ului decurg la fel ca înainte. Să instalăm, de exemplu, aplicația „sqlitebrowser”. După ce selectezi „Instalare”, poți observa detalii noi specifice pachetelor snap.


Detalii precum „Canal”, „Versiune”, „Licență”, „Dezvoltator”, „Sursa” și „Dimensiune descărcare” oferă informații despre pachetul snap. Canalele de instalare pot fi „Stabil” (implicit, cu cele mai testate pachete), „Candidat” (aproape stabil), „Beta” (în stadiu de dezvoltare târziu) sau „Edge” (pentru testerii timpurii).

După instalare, comanda ‘snap list’ va afișa noul pachet snap adăugat.

snap list

Lansând programul „sqlitebrowser”, observăm că funcționează corespunzător, chiar dacă interfața grafică pare ușor învechită, amintind de GUI-urile din trecut. Nu toate pachetele snap arată astfel, dar acest exemplu este relevant.

sqlitebrowser

Instalarea din Linia de Comandă

Instalarea aplicațiilor din linia de comandă nu a suferit modificări. Utilizatorii au în continuare acces la instrumentul ‘snap’, dar și la comenzile ‘apt-get’ și ‘apt’.

Pentru a ilustra, să instalăm aceeași aplicație „sqlitebrowser” folosind ‘apt-get’. Această versiune va coexista cu pachetul snap deja instalat.

sudo apt-get install sqlitebrowser

Odată instalată, veți observa că în meniul aplicațiilor există două versiuni ale programului.

Lansând ambele versiuni, constatăm că ambele funcționează simultan.

Versiunea instalată prin apt este 3.11.2, iar cea snap 3.11.99. Deși versiunea de linie de comandă este mai veche, exemplul demonstrează că versiunile pot coexista și funcționa fără probleme. Instalarea prin ‘apt’ sau ‘apt-get’ funcționează la fel ca înainte, nefiind influențată de pachetele snap.

Ce versiune ar trebui să alegi?

Dacă nu ești preocupat de metoda de instalare, poți folosi pachetele snap. Însă, dacă următoarele aspecte sunt importante pentru tine, ar trebui să eviți magazinul Ubuntu Software și să instalezi aplicațiile în mod tradițional:

  • Lansarea aplicațiilor snap este mai lentă (în special pe calculatoare mai vechi).
  • Pachetele snap ocupă mai mult spațiu pe hard disk.
  • Pachetele snap se actualizează automat.
  • Pachetele snap s-ar putea să nu se integreze perfect cu tema sistemului.
  • Nu toate pachetele snap sunt oficiale.

Pe calculatoarele moderne, diferența de viteză dintre lansarea unui snap și a unei aplicații tradiționale nu este semnificativă. Cea mai mare diferență se observă în timpul instalării. Pachetele snap durează mai mult la descărcare, dar instalarea propriu-zisă este rapidă. Descărcarea fiind o acțiune unică, nu ar trebui să fie o problemă majoră. Chiar dacă preferi pachetele snap, nu vei putea renunța complet la instalarea tradițională, deoarece unele aplicații nu sunt disponibile sub formă snap.

Canonical promovează intens această schimbare. Pachetul snap este, așadar, o componentă importantă a viitorului Ubuntu. Utilizatorii pot alege să le folosească, să le ignore sau să folosească un sistem hibrid care combină ambele metode de instalare.