Under de senaste åren har Linuxgemenskapen fått ta del av en del anmärkningsvärda framsteg inom området pakethantering på Linuxsystem, särskilt när det gäller universell paketering och distribution av programvara. Ett av dessa framsteg är paketformatet Snap som utvecklats av Canonical, tillverkarna av det populära Ubuntu Linux.

Vad är Snap-paket?

Snaps är distributionsövergripande, beroendefria och lättinstallerade program som är paketerade med alla sina beroenden för att kunna köras på alla större Linuxdistributioner. Från ett enda bygge kan en snap (applikation) köras på alla Linuxdistributioner som stöds på skrivbordet, i molnet och IoT. De distributioner som stöds är Ubuntu, Debian, Fedora, Arch Linux, Manjaro och CentOS/RHEL.

Snaps är säkra – de är begränsade och sandboxade så att de inte äventyrar hela systemet. De körs under olika konfinationsnivåer (vilket är graden av isolering från bassystemet och varandra). Framför allt har varje snap ett gränssnitt som noggrant valts ut av skaparen av snapsen, baserat på snapsens krav, för att ge tillgång till specifika systemresurser utanför deras begränsning, t.ex. nätverksåtkomst, skrivbordsåtkomst med mera.

Ett annat viktigt begrepp i snap-ekosystemet är Channels. En kanal bestämmer vilken version av en snap som installeras och spåras för uppdateringar och den består av och är underindelad av, spår, risknivåer och grenar.

De viktigaste komponenterna i snap-pakethanteringssystemet är:

  • snapd – bakgrundstjänsten som hanterar och underhåller dina snaps på ett Linuxsystem.
  • snap – både programpaketformatet och kommandoradsgränssnittsverktyget som används för att installera och ta bort snaps och för att göra många andra saker i snap-ekosystemet.
  • snapcraft – ramverket och det kraftfulla kommandoradsverktyget för att bygga snaps.
  • snap store – en plats där utvecklare kan dela med sig av sina snaps och där Linux-användare kan söka och installera dem.

Förresten uppdateras snaps också automatiskt. Du kan konfigurera när och hur uppdateringar sker. Som standard kontrollerar snapd-demonen om det finns uppdateringar upp till fyra gånger per dag: varje uppdateringskontroll kallas för en uppdatering. Du kan också initiera en uppdatering manuellt.

Hur du installerar Snapd i Linux

Som beskrivits ovan är snapd-demonen den bakgrundstjänst som hanterar och underhåller din snap-miljö på ett Linux-system, genom att implementera begränsningsprinciperna och styra gränssnitten som gör det möjligt för snaps att få tillgång till specifika systemresurser. Den tillhandahåller också kommandot snap och tjänar många andra syften.

För att installera snapd-paketet på ditt system kör du rätt kommando för din Linuxdistribution.

------------ ------------ $ sudo apt update $ sudo apt install snapd------------ ------------# dnf install snapd------------ ------------# yum install epel-release # yum install snapd------------ ------------$ sudo zypper addrepo --refresh https://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_15.0 snappy$ sudo zypper --gpg-auto-import-keys refresh$ sudo zypper dup --from snappy$ sudo zypper install snapd------------ ------------# pacman -S snapd------------ ------------# git clone https://aur.archlinux.org/snapd.git# cd snapd# makepkg -si

När du har installerat snapd på ditt system aktiverar du systemd-enheten som hanterar den huvudsakliga snap-kommunikationssockeln, med hjälp av kommandona systemctl på följande sätt.

På Ubuntu och dess derivat bör detta utlösas automatiskt av paketinstalleraren.

$ sudo systemctl enable --now snapd.socket

Notera att du inte kan köra snap-kommandot om snapd.socket inte körs. Kör följande kommandon för att kontrollera om den är aktiv och är aktiverad för att starta automatiskt vid systemstart.

$ sudo systemctl is-active snapd.socket$ sudo systemctl status snapd.socket$ sudo systemctl is-enabled snapd.socket
Check Snapd Service Status

Nästa steg är att aktivera stöd för klassisk snap genom att skapa en symbolisk länk mellan /var/lib/snapd/snap och /snap på följande sätt.

$ sudo ln -s /var/lib/snapd/snap /snap

För att kontrollera versionen av snapd och kommandoradsverktyget snap som är installerad i ditt system, kör följande kommando.

$ snap version 
Kontrollera version av snapd och snap

Hur man installerar snaps i Linux

Med snap-kommandot kan du installera, konfigurera, uppdatera och ta bort snaps och interagera med det större snap-ekosystemet.

Innan du installerar en snap kan du kontrollera om den finns i snap-lagret. Om programmet till exempel tillhör kategorin ”chat-servrar” eller ”mediaspelare” kan du köra dessa kommandon för att söka efter det, vilket kommer att fråga i butiken efter tillgängliga paket i den stabila kanalen.

$ snap find "chat servers"$ snap find "media players"
Sök efter program i Snap Store

För att visa detaljerad information om ett snap, till exempel rocketchat-server, kan du ange dess namn eller sökväg. Observera att namn söks både i snapinlagret och i de installerade snapsen.

$ snap info rocketchat-server
Hämta information om program i snap

Om du vill installera en snap på ditt system, till exempel rocketchat-server, kör du följande kommando. Om inga alternativ anges installeras en snap som spårar kanalen ”stable”, med strikt säkerhetsbegränsning.

$ sudo snap install rocketchat-server
Installera program från Snap Store

Du kan välja att installera från en annan kanal: edge, beta eller candidate, av den ena eller andra anledningen, med hjälp av alternativen --edge, --beta respektive --candidate. Du kan också använda alternativet --channel och ange vilken kanal du vill installera från.

$ sudo snap install --edge rocketchat-server $ sudo snap install --beta rocketchat-server$ sudo snap install --candidate rocketchat-server

Hantera snapsar i Linux

I det här avsnittet kommer vi att lära oss hur man hanterar snapsar i Linuxsystemet.

Visa installerade snaps

För att visa en sammanfattning av de snaps som är installerade i systemet använder du följande kommando:

$ snap list
List Installed Snaps

För att visa den aktuella revideringen av en snaps som används anger du namnet på den. Du kan också lista alla tillgängliga revideringar genom att lägga till alternativet --all.

$ snap list mailspringOR$ snap list --all mailspring
Lista alla installationsversioner av snaps

Uppdatera och återställa snaps

Du kan uppdatera en angiven snaps eller alla snaps i systemet om ingen är angiven enligt följande. Kommandot refresh kontrollerar den kanal som spåras av snapen och hämtar och installerar en nyare version av snapen om den är tillgänglig.

$ sudo snap refresh mailspringOR$ sudo snap refresh#update all snaps on the local system
Refresh a Snap

När du har uppdaterat en app till en ny version kan du återgå till en tidigare använd version med hjälp av kommandot revert. Observera att de data som är associerade med programvaran också återställs.

$ sudo snap revert mailspring
Returnera en snap till en äldre version

Nu när du kontrollerar alla revisioner av mailspring är den senaste revisionen inaktiverad, en tidigare använd revision är nu aktiv.

$ snap list --all mailspring
Kontrollera revision av snaps

Inaktivera/aktivera och ta bort snaps

Du kan inaktivera en snap om du inte vill använda den. När den är inaktiverad kommer en snaps binärer och tjänster inte längre att vara tillgängliga, men alla data kommer fortfarande att finnas kvar.

$ sudo snap disable mailspring

Om du behöver använda snapen igen kan du aktivera den igen.

$ sudo snap enable mailspring

Om du vill ta bort en snap helt och hållet från ditt system använder du kommandot remove. Som standard tas alla revisioner av en snap bort.

$ sudo snap remove mailspring

För att ta bort en specifik revision använder du alternativet --revision enligt följande.

$ sudo snap remove --revision=482 mailspring

Det är viktigt att notera att när du tar bort en snap sparas dess data (t.ex. interna användar-, system- och konfigurationsdata) av snapd (version 2.39 och högre) som en ögonblicksbild och lagras på systemet i 31 dagar. Om du installerar om snapen inom de 31 dagarna kan du återställa data.

Slutsats

Snaps blir alltmer populära inom Linuxcommunityt eftersom de ger ett enkelt sätt att installera programvara på vilken Linuxdistribution som helst. I den här guiden har vi visat hur man installerar och arbetar med snaps i Linux. Vi har behandlat hur man installerar snapd, installerar snaps, visar installerade snaps, uppdaterar och återställer snaps samt inaktiverar/aktiverar och tar bort snaps.

Du kan ställa frågor eller nå oss via feedbackformuläret nedan. I nästa del av den här guiden kommer vi att behandla hantering av snaps (kommandon, alias, tjänster och ögonblicksbilder) i Linux.

admin

Lämna ett svar

Din e-postadress kommer inte publiceras.

lg