Ubuntu 20.04 Focal Fossa je izvanredno izdanje koje je steklo široko priznanje. Međutim, odluka da se softverski centar preusmeri na instalaciju aplikacija putem Snap paketa izazvala je određene kontroverze. U nastavku ćemo objasniti šta to tačno znači za vas.
Šta je Snap paket u Linux okruženju?
Termin „Snap“ se odnosi i na komandu snap
i na samu instalacionu datoteku Snap formata. Snap objedinjuje aplikaciju i sve njene zavisnosti u jednu komprimovanu datoteku. Te zavisnosti mogu biti bibliotečke datoteke, web serveri, serveri baze podataka ili bilo koji drugi resurs neophodan za pokretanje i funkcionisanje aplikacije.
Prednost Snap paketa leži u pojednostavljivanju instalacija, jer se izbegava kompleksnost takozvanog „pakla zavisnosti“. Do ovog problema dolazi kada nova aplikacija ne može da se pokrene zbog nedostupnosti potrebnog resursa, njegove nekompatibilne verzije ili zato što instalacija nove aplikacije prepiše datoteke koje su neophodne postojećim aplikacijama, čime se onemogućava njihov rad.
Očekuje se da Snap paket bude nekomprimovan, a datoteke se ekstrahuju prilikom instalacije. Međutim, tokom izvršavanja, Snap datoteka se montira na uređaj blok petlje. To omogućava pristup internom SquashFS sistemu datoteka.
Aplikacija se izvršava na izolovan, zaštićen način, tako da njene datoteke ne mogu ometati datoteke na vašem sistemu. Čak je moguće instalirati više verzija iste aplikacije, a one neće međusobno interferirati ili se sukobljavati.
S druge strane, instalacione datoteke su veće u poređenju sa tradicionalnim Debian paketima (DEB). Takođe, zauzimaju više prostora na hard disku. Sa Snap paketima, svaka aplikacija koja zahteva određeni resurs instalira sopstvenu kopiju tog resursa. Ovo nije najefikasniji način korišćenja prostora na disku. Iako hard diskovi postaju sve veći i jeftiniji, tradicionalisti se i dalje protive ovoj ekstravaganciji gde svaka aplikacija radi u sopstvenom mini-kontejneru. Pored toga, pokretanje aplikacija je sporije.
Snap paketi su kritikovani i zbog toga što ne prate temu radne površine i zbog automatskih nadogradnji. Neki korisnici su takođe oprezni jer Snap pakete ne kreiraju nužno autori softvera, te se oni ne smatraju 100% „zvaničnim“.
Dakle, u Focal Fossa verziji, Canonical je zamenio Ubuntu softversku aplikaciju verzijom koja podrazumevano instalira Snap pakete. Šta to znači za vas?
Ubuntu Softverski Centar
Možemo koristiti komandu df
za prikaz SquashFS sistema datoteka koji su montirani na vašem računaru. Koristićemo opciju -t
(tip) da ograničimo izlaz na sisteme datoteka koji nas zanimaju:
df -t squashfs
Zatim, koristimo komandu snap list
za prikaz instaliranih Snap paketa:
snap list
Na listi su dva Snap paketa vezana za GNOME radnu površinu, dva koja se odnose na osnovnu funkcionalnost Snap-a, jedan za GTK teme i jedan za Snap repozitorijum. Naravno, aplikacija Snap Store je takođe instalirana kao Snap paket.
Evo bitnog detalja: ako pokrenete komandu snap-store
u terminalu, pokrenuta aplikacija je zapravo Ubuntu Softver.
Naravno, uobičajeno biste pokrenuli aplikaciju Ubuntu Softver klikom na njenu ikonu. Pokrećemo je iz komandne linije da bismo demonstrirali da je ispod površine sada aplikacija Snap Store:
snap-store
Aplikacija Ubuntu Softver izgleda baš onako kako biste i očekivali. Možete pretraživati sav softver koji je bio dostupan i ranije.
Potražimo i instalirajmo aplikaciju „sqlitebrowser“. Na ekranu sa rezultatima prikazuju se detalji aplikacije i snimak ekrana. Odaberite „Instaliraj“ da biste instalirali softver.
Da niste upoznati sa ovim, ne biste ni posumnjali na promene koje su se dogodile. Skrolujte nadole i videćete neke nove informacije koje su specifične za Snap pakete.
Lista „Detalji“ sadrži sledeće informacije:
Kanal: Kanal sa kojeg će instalacija preuzeti aplikaciju.
Verzija: Verzija softvera.
Licenca: Tip licence.
Programer: Osoba ili grupa koja je napravila Snap paket, ili autori same aplikacije.
Izvor: Izvor sa kojeg će se preuzeti Snap paket (snapcraft.io je Canonical-ova Snapcraft prodavnica).
Veličina preuzimanja: Veličina datoteke Snap paketa.
Kanal može biti jedan od sledećih:
Stabilan: Podrazumevani kanal, koji sadrži najstabilnije i najpouzdanije pakete.
Kandidat: Ovaj kanal je manje stabilan, ali veoma blizak stabilnom, jer sadrži softver koji je kandidat za stabilnu verziju.
Beta: Ovaj kanal je kvaliteta kasne faze razvoja, ali nije garantovano da će biti stabilan.
Edge: Za rane testere i one koji vole eksperimentisanje. Ne bi trebalo da koristite ovaj kanal za važne zadatke.
Nakon što se instalacija završi, ponovo proverimo listu instaliranih Snap paketa:
snap list
Novi unos je dodat na dnu liste. Pokrenimo program:
sqlitebrowser
Sve u vezi sa aplikacijom funkcioniše sasvim dobro, iako interfejs izgleda zastarelo. Ovi pseudo-3D elementi interfejsa podsećaju na GUI iz prošlih vremena. Ovo nije pravilo za sve Snap pakete, ali je u ovom primeru prilično uočljivo.
Instalacija iz komandne linije
Ništa se nije promenilo prilikom instaliranja aplikacija iz komandne linije. I dalje imate pristup snap
alatu komandne linije, tako da možete da instalirate i deinstalirate Snap pakete u terminalu. Komande za instalaciju apt-get
i apt
, koje su omotači za apt-get
, su takođe i dalje dostupne.
Instalirajmo istu aplikaciju iz komandne linije. Pošto verzija koju smo instalirali putem Snap paketa i ova neće uticati jedna na drugu:
sudo apt-get install sqlitebrowser
Sačekajte da se instalacija završi. Pritisnite taster Super i ukucajte „sqlitebrowser“. Nakon što unesete nekoliko slova, videćete dve verzije programa na vašem računaru.
Pokrenite obe verzije.
Kao što vidite, imamo dve različite verzije instalirane i one funkcionišu u isto vreme.
Verzija u pozadini na slici je ona koju smo instalirali iz komandne linije, a verzija u prvom planu je Snap verzija:
apt-get
verzija je 3.11.2.
Snap verzija je 3.11.99.
Uprkos izgledu, verzija iz komandne linije je starija. Bez obzira na to, jasno je da obe verzije koegzistiraju i da funkcionišu dobro zajedno. Dakle, Snap paketi ispunjavaju svoju funkciju izolacije različitih verzija iste aplikacije.
Takođe, instaliranje aplikacija iz komandne linije pomoću apt
ili apt-get
je isto kao i ranije i na to nikako ne utiču Snap paketi.
Koju verziju bi trebalo da koristite?
Da li vam je uopšte važno koju vrstu aplikacije koristite? Ako nije, onda koristite Snap pakete.
Ako bilo šta od sledećeg predstavlja problem za vas (ili se nekoliko stavki poklope), izbegavajte aplikaciju Ubuntu Softver i instalirajte aplikacije na tradicionalan način:
- Snap paketi se sporije pokreću. Ovo će biti primetnije na starijem hardveru.
- Snap paketi zauzimaju više prostora na hard disku.
- Snap paketi se automatski ažuriraju.
- Snap paketi možda neće odgovarati instaliranim temama sistema.
- Snap paketi nisu uvek „zvanični“. Često ih kreiraju volonteri.
Ako je vaš računar novijeg datuma, razlika u brzini između pokretanja Snap paketa ili obične aplikacije neće biti velika. Najveće kašnjenje koje smo primetili je tokom instalacije. Preuzimanje Snap paketa je trajalo znatno duže. Međutim, preuzimanje je jednokratan zadatak, tako da to nije nešto sa čime ćete se svakodnevno susretati.
Čak i ako mislite da su Snap paketi budućnost i spremni ste da ih prihvatite, ne možete u potpunosti preći na njih. Neke aplikacije nisu dostupne u Snap formatu. U tim slučajevima, moraćete da ih instalirate iz komandne linije.
Očigledno je da Canonical ovim potezom jasno demonstrira svoju posvećenost Snap paketima. Što se tiče Ubuntu programera, Snap paketi su tu da ostanu. Kao i uvek, možete ih koristiti, ignorisati ili imati hibridni sistem koji kombinuje Snap pakete i tradicionalne DEB instalacije.