Snappakker vs. Flatpaks: Forskellene og hvilken som du skal bruge
Hvis du har læst nogen opmærksomhed på Linux-fællesskabet for sent, tror du, at der var en emballagekrig på gang. På den ene side har du Ubuntu's Snappy-pakker, en teknologi, der oprindeligt blev oprettet for Ubuntu. Nu, med udgivelsen af Snapd, kan den køre på næsten alt.
På den anden side har du Flatpaks, der stort set er ens på mange måder til Snaps, medmindre den er mere åben kilde og afhænger af individuelle lagre i stedet for en central placering. Denne teknologi kan også installeres på næsten alt. Så, hvilken er bedre? Hvilken skal du bruge? Og vigtigst af alt, hvad er forskellene? Lad os finde ud af det!
Hvad er forskellene?
Forskellene mellem Snap pakker og Flatpaks er ikke rigtig så mange. Snap blev oprettet internt af Canonical - firmaet bag Ubuntu - og teknologien er hardkodet for at bruge Snap-pakkeforretningen. Nogle kan være nervøse for dette, da Ubuntu har total kontrol, og i virkeligheden for at lave en Snap-pakke skal du underskrive en licensaftale for forbrugerne (noget, som nogle mennesker er meget imod).
Med Flatpaks er alt åbent og ikke så centraliseret som Snaps. Det vigtigere er, at Flatpaks er mere fokuseret på at levere software til stationære computere, og Snap-pakker er stort set kun serverteknologi, som Canonical har vedtaget til skrivebordet, men fungerer for begge.
Flatpak har ingen centraliseret butik til at tale om. Selv nu, hvis du installerer det, er du ikke nødvendigvis nødt til at kunne få ting at gå så nemt. Softwaren fungerer stort set meget som Ubuntu PPA-systemet. Du skal gå ud og finde et lager og derefter tilføje det. Dette er i modsætning til hvordan Snaps arbejde, som kun kommer fra den canoniske snappy butik og intet andetsteds (for nu).
Når du installerer en Snap-pakke, får du stort set alle dele af softwarekomponenter, du skal køre noget i en hel pakke (hvis du er forvirret, tænk på Docker-containere). For eksempel: Du installerer et Snap, der bundler hele Gnome-skrivebordet. Det vil blive bundtet med alt, biblioteker og alt.
Med Flatpak er alt lidt anderledes. Tag Gnome-eksemplet. Gnome Desktop flatpak ville have alle de nødvendige filer, men ikke hvert enkelt bibliotek - medmindre udvikleren valgte at gøre det. Flatpak teamet skabte en runtime, der skulle rumme alt hvad du behøver.
Hvilken skal du bruge?
Det er svært at sige, hvilken teknologi der vil være lederen her. Der er ingen tvivl om, at min mening om dette spørgsmål vil blive imødekommet af nogle vrede kommentarer, der argumenterer for en stilling over den anden, så inden jeg går videre, vil jeg bare være klar. Flatpaks og Snap pakker er begge meget interessante og unikke ideer.
Det er klart for mig, i hvert fald i det mindste, at Snap-pakker ville være det, der skal bruges, hvis du vil have et "universalpakkeformat". Med Snapd til rådighed for næsten enhver distribution, som den kan bygge videre på, bliver det stadig lettere at få går. Hvad der er mere vigtigt er, at nogen kan finde ud af det. Du behøver ikke at jage ned repository urls som Flatpak. Bare installer og gå.
Det er ikke at sige, at Flatpak ikke er umagen værd. Hvis du er på Fedora 24, bør du for eksempel udnytte Flatpak fuldt ud. Du kan også få det til at fungere på Arch, hvis du er i det ved at installere denne AUR-pakke eller ved at bygge det selv fra Github.
Konklusion
Selvom Flatpak og Snappy ikke er nye ideer, har de stor kraft bag dem. Vi har tidligere haft værktøjer som AppImage (og andre), og de har aldrig rigtig fået så meget trækkraft. Men jeg tror, at både Flatpak og Snappy har det, der kræves for at gøre mere universelle installationsværktøjer på Linux-start - selvom det betyder, at vi har to hovedformater i stedet for en.
Nogle mennesker siger, at for meget valg på Linux er dårlig. Vi har for mange distributioner, for mange binære pakkeformater, for mange filsystemvalg, for mange desktop-miljøer, og listen fortsætter. Men jeg tror, at det, nogle siger, er en svaghed, er også en stor styrke. Vi kan afdække vores spil med både Snappy og Flatpak. Hvis man ender med at være dårlig, kan vi prøve noget andet, eller hvis de begge er goo, er det en win-win-situation, hvor vi alle høster fordelene.
Hvordan har du det, når det kommer til Snap pakker versus Flatpaks? Fortæl os nedenfor!