För många av oss som faktiskt började vår Linuxresa med att använda Ubuntu Linux, som enligt statistiken är den mest populära och mest använda Linuxdistributionen för tillfället, blev bekanta med att ladda ner, installera och använda
deb paketformat för Debian Linux, som Ubuntu är baserat på plus många andra Linux-distributioner som det populära operativsystemet för penetrationstest Kali Linux , spelfokuserad SteamOS, skrivbordsorienterad distribution utvecklad av Raspberry Pi Foundationför bland annat en familj av lågeffekts enkortsdatorer.
Som ny Linux-användare kommer man att inse det stora antalet distributioner som finns tillgängliga med flera versioner och ännu mer smärtan av att arbeta med olika programvarupaketeringsformat och hantera beroenden samtidigt.
Men i den senaste versionen av Ubuntu Linux, Xenial Xerus LTS, introducerade Canonical ett nytt mjukvarupaketeringsformat och verktyg som heter Snap, som kommer att användas tillsammans med deb packningsformat. I ett meddelande tidigt i år, som gjordes av Canonicals Olli Ries, utvecklade han hur tekniken bakom Snaps faktiskt kom till, hur den kommer att existera och fungera tillsammans med den gamla Debian mjukvarupaketeringssystem, dess betydelse och allmänna funktionalitet plus så mycket mer.
Det finns också andra nya mjukvarupaketeringssystem som redan arbetar för att bekämpa Snap i spelet, och dessa är Flatpak och AppImage, vi ska få en tydlig förståelse för vad dessa teknologier är, hur de fungerar och var de bokstavligen staplas i Linux-ekosystemet.
Vad är Snap och hur fungerar det?
Detta är ett mjukvarupaketeringsformat som paketerar programvara inklusive dess beroenden till ett enda paket, det installeras i en separat katalog från andra systemkataloger till skillnad från andra gamla mjukvarupaketeringsformat som deb
, rpm plus många andra. På så sätt orsakar inte ett paket en röra på ditt system, vilket minskar risken för att resten av ditt Linux-system går sönder.
Du kan ta en titt på hur Debian Packaging System och RMP Packing Systemarbetar för att förstå hur de distinkt fungerar i jämförelse med Snap. En fördelaktig egenskap hos Snap för användare är att den fungerar på flera Linux-distributioner inklusive Debian, Fedora, Arch, förstås Ubuntu och många av dess derivat som Kubuntu, Lubuntu, Ubuntu MATE plus många andra i den familjen. Användare av REHL, CentOS, Elemetay OS, Linux Mint, Gentoo, OpenSUSE måste vänta medan validering pågår och när de har godkänts kommer de att kunna använda den. Den erbjuder också en säker pakethanteringsmekanism eftersom de installerade paketen kommer att fungera i ett isolerat system på Linux, vilket begränsar säkerhetsriskerna som följer med andra programvarupaketeringssystem.
Medan på utvecklarnas sida kompletteras hela idén med Snaps också med användningen av Snapcraft, vilket gör det möjligt för utvecklare att enkelt arbeta med mjukvara för olika plattformar som är mobil, PC, server och IoT-enheter genom att hjälpa dem att paketera mjukvara och beroenden i ett enda paket. Detta kommer att undanröja svårigheter i packningsprocessen plus hantering av uppdateringar av användare jämfört med tidigare metoder.
Vad är AppImage och hur fungerar det?
Detta är också ett mjukvarupaketeringsformat som fungerar på sitt eget sätt jämfört med de traditionella mjukvarupaketeringssystemen. Det fungerar i en jämförbar analogi med Snap, under den är en applikation buntad tillsammans med alla dess beroenden i en enda fil, därför är idén med en app lika med en fil.
Det är så enkelt och snabbt att använda applikationer i AppImage-format, det finns inget behov av att installera applikationer som tidigare, allt du behöver göra är att ladda ner applikationen, göra den körbar och köra den, så enkelt som den där. Precis som med Snap förblir resten av ditt system oförändrat och detta erbjuder också en fantastisk säkerhetsmekanism på en användares system. AppImages kan i grund och botten köras på alla stationära Linux-distributioner som finns och det fungerar därför nära i förhållande till hur applikationer används på Windows och Mac OS, man kan tänka sig AppImgaes som bärbara Linux-appar.
Läs även: OrbitalApps bärbara Linux-appar för Ubuntu 16.04
En begränsning av detta programvarupaketeringssystem är att det fungerar effektivt på desktop Linux, men systemadministratörer som använder skrivbordsmiljöer på sina servrar kan också dra nytta av det. Kolla in hur du paketerar dina applikationer i AppImages från denna Wiki
Vad är Flatpak och hur fungerar det?
Flatpak är också en relativt ny teknik byggd från grunden, för att göra det möjligt för användare att installera och köra samma skrivbordsprogram på flera Linux-distributioner och med olika versioner. Designad och byggd för att isolera applikationer från varandra och resten av systemet, lägger den också stor vikt vid säkerhetsimplementering i ett värdsystem.
Det fungerar också i ett relaterat tillvägagångssätt till två tidigare programvarupaketeringsformat, applikationen är paketerad tillsammans med alla dess beroenden i ett enda paket, under en Flatpak-applikation finns en samling körtider, en samling delade bibliotek som delas av flera appar på Linux-systemet. Detta innebär att användare inte behöver oroa sig för uppdateringar i samband med distributionsversionsändringar. Du kan lära dig hur du skapar, installerar och kör Flatpak-appar från här.
Efter en kritisk analys och förståelse av ovanstående tekniker kommer du att inse följande viktiga punkter:
Sammanfattningsvis,
Med Ubuntus Snap-programvarupaketeringsformat som redan används på många Linux-distributioner kan man säga att det kommer att omfamnas som ett effektivt och relevant alternativ till de gamla paketeringsformaten, eftersom många Linux-programutvecklare och användare förväntar sig att den kommer att bli den dominerande tekniken i framtiden på Linux-ekosystemet. En begränsning för AppImage och Flatpak kommer att vara deras betydelse på endast stationära Linux-distributioner.