3 najbolja univerzalna menadžera paketa za Linux u 2023


Upravljanje paketima ili instalacija softvera na Linux sistemima može biti vrlo zbunjujuća posebno za početnike (nove korisnike Linuxa), jer različite distribucije Linuxa koriste različite tradicionalne sisteme za upravljanje paketima. Najzbunjujući dio svega u većini slučajeva je rješavanje/upravljanje ovisnosti o paketu.

Na primjer, distribucije zasnovane na Debianu kao što su Ubuntu i Linux Mint koriste .deb pakete, kojima se upravlja putem dpkg sustava za upravljanje paketima.

S druge strane, distribucije zasnovane na RHEL-u kao što su CentOS Stream, Rocky Linux i AlmaLinux koriste .rpm paketi, kojima se upravlja pomoću rpm sistema za upravljanje paketima.

U posljednjih nekoliko godina, upravljanje paketima i distribucija u Linux ekosistemu nikada nisu bili isti nakon uspona univerzalnih ili unakrsnih alata za upravljanje paketima.

Ovi alati omogućavaju programerima da pakuju svoj softver ili aplikacije za više Linux distribucija, iz jedne verzije, što korisnicima olakšava instalaciju istog paketa na više podržanih distribucija.

U ovom članku ćemo pregledati 3 najbolja univerzalna ili međudistributivna sistema upravljanja paketima otvorenog koda za Linux.

1. Snap – univerzalni format paketa

Snap je popularan open-source format aplikacije/paketa i sistem za upravljanje paketima koji je razvio Canonical, proizvođač Ubuntu Linuxa. Nekoliko Linux distribucija sada podržava snaps uključujući Ubuntu, Debian, Fedora, Arch Linux, Manjaro i CentOS/RHEL.

Jednostavna instalacija i ažuriranja

snap aplikacija je aplikacija za unakrsnu distribuciju u paketu sa svim svojim ovisnostima (bez ovisnosti) za jednostavnu instalaciju s automatskim ažuriranjima (aplikacije su uvijek ažurne) na bilo kojoj Linux distribuciji koja podržava snaps. Snap se može pokrenuti na desktopu, serveru, u oblaku ili IoT-u (Internet of Things).

Da biste kreirali ili snimili aplikaciju, koristite Snapcraft, okvir i moćan alat na komandnoj liniji za pravljenje snimaka. Da biste instalirali i koristili snap u Linuxu, potrebno je da instalirate snapd (ili snappy daemon), uslugu u pozadini koja omogućava Linux sistemima da rade sa datotekama .snap. Stvarna instalacija snap-ova se vrši pomoću alata komandne linije snap.

Sigurnost i izolacija

Budući da se izvode pod ograničenjem (različiti i konfigurabilni nivoi ograničenja), snap-ovi su sigurni po defaultu. Važno je da snimak koji treba da pristupi sistemskom resursu izvan njegovog ograničenja koristi "interfejs" koji je pažljivo odabran od strane kreatora snap-a, na osnovu zahteva snap-a. Ovo vam omogućava da pokrećete aplikacije bez ugrožavanja stabilnosti i fleksibilnosti osnovnog operativnog sistema.

Dodatno, sistem za upravljanje snap paketima koristi koncept koji se zove kanali (koji se sastoji od i podijeljen je po stazama, nivoima rizika i granama) da odredi koje je izdanje snap-a instalirano i praćeno za ažuriranja. Snapovi se također automatski ažuriraju, proces kojim možete upravljati ručno.

Da biste pronašli i instalirali snimak, potražite ga u snap trgovini (mjesto gdje programeri mogu podijeliti svoje snimke) ili pročitajte više o tome koristeći naše vodiče:

2. Flatpak – kompatibilnost unakrsne distribucije

Flatpak je dobro poznati okvir otvorenog koda za distribuciju desktop aplikacija na Linux distribucijama. Razvijen od strane nezavisne zajednice, Flatpak omogućava da se jedna verzija aplikacije instalira i pokrene na gotovo bilo kojoj Linux distribuciji.

Podržava ukupno 25 distribucija uključujući Fedora, Ubuntu, RHEL, CentOS, OpenSUSE, i Arch Linux, a također radi na Raspberry Pi.

Flatpak-ova vremena izvođenja pružaju platforme uobičajenih biblioteka koje aplikacija može iskoristiti. Međutim, to vam također čini izuzetno lakim da imate potpunu kontrolu nad ovisnostima, možete grupirati svoje biblioteke kao dio vaše aplikacije.

Flatpak dolazi s alatima za pravljenje lakim za korištenje i nudi konzistentno okruženje (isto na svim uređajima i slično onome što korisnici već imaju) za programere da naprave i testiraju svoje aplikacije.

Sandboxing za poboljšanu sigurnost

Flatpak čini stvari sigurnim tako što svaku aplikaciju stavlja u svoje sandbox, na ovaj način aplikacije ne mogu petljati s glavnim sistemom ili drugim aplikacijama. Vrlo je zgodno kada imate posla s aplikacijama iz izvora u koje niste sigurni.

Pogodan za korisnike i programere

Koristan aspekt flatpaka je kompatibilnost naprijed gdje se isti flatpak može pokrenuti na različitim verzijama iste distribucije, uključujući verzije koje tek treba da budu objavljene koje programere. Također nastoji i nastavlja biti kompatibilan s novim verzijama Linux distribucija.

Ako ste programer, svoju aplikaciju možete učiniti dostupnom korisnicima Linuxa putem Flathuba, centralizirane usluge za distribuciju aplikacija na svim distribucijama.

3. AppImage: prenosiva alternativa

AppImage je takođe format paketa otvorenog koda koji omogućava programerima da jednom pakuju aplikaciju koja radi na svim glavnim desktop distribucijama Linuxa. Za razliku od prethodnih formata paketa, sa AppImage, nema potrebe za instaliranjem paketa. Samo preuzmite aplikaciju koju namjeravate koristiti, učinite je izvršnom i pokrenite je – tako je jednostavno. Podržava većinu 32-bitnih i 64-bitnih Linux desktopa.

Nije potrebna instalacija

Sa AppImage, nema potrebe da instalirate bilo šta. Možete staviti ove pakete na USB disk, dijeliti ih i pokretati aplikacije bez promjene sistema. Ovo je odlično za prenosive Linux i žive sisteme.

Široka kompatibilnost

AppImage ima mnogo prednosti. Za programere, to im omogućava da dosegnu što više korisnika, bez obzira na distribuciju Linuxa i verziju koju korisnici koriste. Za korisnike, ne moraju brinuti o ovisnostima aplikacija jer je svaka AppImage u paketu sa svim svojim ovisnostima (jedna aplikacija=jedan fajl). Isprobavanje novih verzija aplikacija također je jednostavno sa AppImage.

Za administratore sistema koji podržavaju veliki broj desktop sistema i obično blokiraju korisnike da instaliraju aplikacije koje bi potencijalno mogle da pokvare sisteme, više ne moraju da brinu. Sa AppImage, sistem ostaje netaknut jer korisnici ne moraju instalirati aplikacije da bi ih pokrenuli.

Poređenje Trio: Snap, Flatpak i AppImage

Evo poređenja tri univerzalna menadžera paketa:

Feature Snap Flatpak AppImage
Package format Self-contained, compressed file Self-contained, compressed file Single executable file
Sandboxing Yes (by default) No (by default) No
Automatic updates Yes Optional No
Installation Requires snapd daemon Requires Flatpak runtime Does not require installation
Root privileges Requires root privileges to install Does not require root privileges to install Does not require root privileges to run

Koji menadžer paketa da odaberem?

Ako tražite siguran i jednostavan za korištenje upravitelj paketa s automatskim ažuriranjima, onda je Snap dobar izbor. Ako tražite fleksibilniji upravitelj paketa koji se može koristiti za pakiranje bilo koje vrste aplikacija, onda je Flatpak dobar izbor. Ako tražite upravitelja paketa koji ne zahtijeva instalaciju ili root privilegije, onda je AppImage dobar izbor.

Također je važno napomenuti da su sva tri paket menadžera još uvijek u razvoju, tako da mogu postojati neke greške ili nedostajuće funkcije. Međutim, svi se oni aktivno održavaju i redovno ažuriraju.

Zaključak

Univerzalni ili unakrsni formati paketa za distribuciju su tehnologije sljedeće generacije za izgradnju i distribuciju softvera u Linux ekosistemu. Međutim, tradicionalni sistemi za upravljanje paketima još uvijek drže svoje mjesto.

Šta mislite? Podijelite ga s nama putem odjeljka za komentare.