I de seneste par år har Linux-fællesskabet været velsignet med nogle bemærkelsesværdige fremskridt inden for pakkehåndtering på Linux-systemer, især når det gælder universel eller tværdistributionel softwarepakning og -distribution. Et af disse fremskridt er Snap-pakkeformatet, der er udviklet af Canonical, som står bag det populære Ubuntu Linux.

Hvad er Snap-pakker?

Snaps er tværdistributions-, afhængighedsfrie og nemme at installere programmer, der er pakket med alle deres afhængigheder, så de kan køre på alle større Linux-distributioner. Fra et enkelt build vil en snap (applikation) kunne køre på alle understøttede Linux-distributioner på skrivebordet, i skyen og IoT. De understøttede distributioner omfatter Ubuntu, Debian, Fedora, Arch Linux, Manjaro og CentOS/RHEL.

Snaps er sikre – de er afgrænsede og sandboxed, så de ikke kompromitterer hele systemet. De kører under forskellige confinement-niveauer (som er graden af isolation fra grundsystemet og hinanden). Mere bemærkelsesværdigt er det, at hver snap har en grænseflade, som er nøje udvalgt af snap-skaberen, baseret på snap’ens krav, for at give adgang til specifikke systemressourcer uden for deres begrænsning som f.eks. netværksadgang, adgang til skrivebordet og meget mere.

Et andet vigtigt koncept i snap-økosystemet er Channels. En kanal bestemmer, hvilken udgave af en snap der installeres og spores for opdateringer, og den består af og er underopdelt af, spor, risikoniveauer og grene.

De vigtigste komponenter i snap-pakkehåndteringssystemet er:

  • snapd – den baggrundstjeneste, der administrerer og vedligeholder dine snaps på et Linux-system.
  • snap – både programpakkeformatet og kommandolinjeinterfaceværktøjet, der bruges til at installere og fjerne snaps og gøre mange andre ting i snap-økosystemet.
  • snapcraft – rammen og det kraftfulde kommandolinjeværktøj til opbygning af snaps.
  • snap store – et sted, hvor udviklere kan dele deres snaps, og Linux-brugere kan søge og installere dem.

Snaps opdateres desuden også automatisk. Du kan konfigurere, hvornår og hvordan opdateringer finder sted. Som standard kontrollerer snapd-dæmonen for opdateringer op til fire gange om dagen: Hver opdateringskontrol kaldes en opdateringskontrol. Du kan også initiere en opdatering manuelt.

Sådan installerer du Snapd i Linux

Som beskrevet ovenfor er snapd-dæmonen den baggrundstjeneste, der administrerer og vedligeholder dit snapmiljø på et Linux-system, ved at implementere begrænsningspolitikkerne og styre de grænseflader, der giver snaps adgang til bestemte systemressourcer. Den leverer også snap-kommandoen og tjener mange andre formål.

For at installere snapd-pakken på dit system skal du køre den relevante kommando for din Linux-distribution.

------------ ------------ $ 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 installeret snapd på dit system, skal du aktivere den systemd-enhed, der administrerer den primære snap-kommunikationssocket, ved hjælp af systemctl-kommandoerne som følger.

På Ubuntu og dets afledninger bør dette udløses automatisk af pakkeinstallationsprogrammet.

$ sudo systemctl enable --now snapd.socket

Bemærk, at du ikke kan køre snap-kommandoen, hvis snapd.socket ikke kører. Kør følgende kommandoer for at kontrollere, om den er aktiv og er aktiveret til automatisk at starte ved opstart af systemet.

$ sudo systemctl is-active snapd.socket$ sudo systemctl status snapd.socket$ sudo systemctl is-enabled snapd.socket
Kontroller Snapd-tjenestens status

Dernæst skal du aktivere understøttelse af klassisk snap ved at oprette et symbolsk link mellem /var/lib/snapd/snap og /snap som følger.

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

Kør følgende kommando for at kontrollere den version af snapd og snap-kommandolinjeværktøjet, der er installeret på dit system.

$ snap version 
Kontroller version af snapd og snap

Sådan installerer du snaps i Linux

Med snap-kommandoen kan du installere, konfigurere, opdatere og fjerne snaps og interagere med det større snap-økosystem.

Hvor du installerer en snap, kan du kontrollere, om den findes i snap-lageret. Hvis programmet f.eks. hører til i kategorien “chat-servere” eller “medieafspillere”, kan du køre disse kommandoer for at søge efter det, hvilket vil forespørge i butikken efter tilgængelige pakker i den stabile kanal.

$ snap find "chat servers"$ snap find "media players"
Find programmer i Snap Store

For at få vist detaljerede oplysninger om et snap, f.eks. rocketchat-server, kan du angive dets navn eller sti. Bemærk, at der søges efter navne både i snap-butikken og i de installerede snaps.

$ snap info rocketchat-server
Hent oplysninger om program i snap

For at installere et snap på dit system, f.eks. rocketchat-server, skal du køre følgende kommando. Hvis der ikke er angivet nogen indstillinger, installeres en snap, der sporer kanalen “stable” med streng sikkerhedsbegrænsning.

$ sudo snap install rocketchat-server
Installer program fra Snap Store

Du kan vælge at installere fra en anden kanal: edge, beta eller candidate, af den ene eller den anden grund, ved hjælp af henholdsvis indstillingerne --edge, --beta eller --candidate. Du kan også bruge indstillingen --channel og angive den kanal, du ønsker at installere fra.

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

Håndtering af snaps i Linux

I dette afsnit lærer vi, hvordan du håndterer snaps i Linux-systemet.

Visning af installerede snaps

For at få vist en oversigt over snaps, der er installeret på dit system, skal du bruge følgende kommando:

$ snap list
Liste over installerede snaps

For at få vist den aktuelle revision af en snap, der bruges, skal du angive dens navn. Du kan også få vist alle de tilgængelige revisioner ved at tilføje indstillingen --all.

$ snap list mailspringOR$ snap list --all mailspring
Liste over alle installationsversioner af snap

Opdatering og tilbageførsel af snaps

Du kan opdatere en bestemt snap eller alle snaps i systemet, hvis ingen er angivet, på følgende måde. Kommandoen refresh kontrollerer den kanal, der spores af snap’en, og den downloader og installerer en nyere version af snap’en, hvis den er tilgængelig.

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

Når du har opdateret en app til en ny version, kan du vende tilbage til en tidligere anvendt version ved hjælp af kommandoen revert. Bemærk, at de data, der er knyttet til softwaren, også vil blive tilbageført.

$ sudo snap revert mailspring
Revert a Snap to Older Version

Nu, når du kontrollerer alle revisioner af mailspring, er den seneste revision deaktiveret, en tidligere anvendt revision er nu aktiv.

$ snap list --all mailspring
Kontroller revision af snap

Indkobling/aktivering og fjernelse af snaps

Du kan deaktivere et snap, hvis du ikke ønsker at bruge det. Når den er deaktiveret, vil en snap’s binære filer og tjenester ikke længere være tilgængelige, men alle data vil dog stadig være der.

$ sudo snap disable mailspring

Hvis du har brug for at bruge snap’en igen, kan du aktivere den igen.

$ sudo snap enable mailspring

For at fjerne en snap helt fra systemet skal du bruge kommandoen remove. Som standard fjernes alle revisioner af en snap.

$ sudo snap remove mailspring

For at fjerne en specifik revision skal du bruge indstillingen --revision som følger:

$ sudo snap remove --revision=482 mailspring

Det er vigtigt at bemærke, at når du fjerner en snap, gemmes dens data (f.eks. interne bruger-, system- og konfigurationsdata) af snapd (version 2.39 og højere) som et snapshot og gemmes på systemet i 31 dage. Hvis du geninstallerer snap’en inden for de 31 dage, kan du gendanne dataene.

Konklusion

Snaps bliver mere og mere populære i Linux-fællesskabet, da de giver en nem måde at installere software på enhver Linux-distribution. I denne vejledning har vi vist, hvordan man installerer og arbejder med snaps i Linux. Vi har dækket hvordan man installerer snapd, installerer snaps, viser installerede snaps, opdaterer og tilbagefører snaps og deaktiverer/aktiverer og fjerner snaps.

Du kan stille spørgsmål eller kontakte os via nedenstående feedback-formular. I den næste del af denne vejledning vil vi dække håndtering af snaps (kommandoer, aliaser, tjenester og snapshots) i Linux.

admin

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.

lg