En nybegynnerguide til Snaps i Linux - Del 1


I løpet av de siste årene har Linux-fellesskapet blitt velsignet med noen bemerkelsesverdige fremskritt innen pakkehåndtering på Linux-systemer, spesielt når det gjelder pakking og distribusjon av universell eller kryssdistribusjon av programvare. En av slike fremskritt er Snap-pakkeformatet utviklet av Canonical, skaperne av det populære Ubuntu Linux.

Hva er Snap-pakker?

Snaps er kryssdistribusjon, avhengighetsfrie og enkle å installere applikasjoner pakket med alle deres avhengigheter for å kjøre på alle større Linux-distribusjoner. Fra en enkelt build vil en snap (applikasjon) kjøre på alle støttede Linux-distribusjoner på skrivebordet, i skyen og IoT. Støttede distribusjoner inkluderer Ubuntu, Debian, Fedora, Arch Linux, Manjaro og CentOS/RHEL.

Snaps er sikre – de er begrenset og satt i sandkasse slik at de ikke kompromitterer hele systemet. De kjører under forskjellige innesperringsnivåer (som er graden av isolasjon fra basissystemet og hverandre). Mer bemerkelsesverdig, hver snap har et grensesnitt nøye utvalgt av snap-skaperen, basert på snap-ens krav, for å gi tilgang til spesifikke systemressurser utenfor deres innesperring som nettverkstilgang, skrivebordstilgang og mer.

Et annet viktig konsept i snap-økosystemet er Channels. En kanal bestemmer hvilken utgivelse av en snap som installeres og spores for oppdateringer, og den består av og er delt inn etter, spor, risikonivåer og grener.

Hovedkomponentene i snap-pakkehåndteringssystemet er:

  • snapd – bakgrunnstjenesten som administrerer og vedlikeholder snapsene dine på et Linux-system.
  • snap – både programpakkeformatet og kommandolinjegrensesnittverktøyet som brukes til å installere og fjerne snaps og gjøre mange andre ting i snap-økosystemet.
  • snapcraft – rammeverket og det kraftige kommandolinjeverktøyet for å bygge snaps.
  • snap-butikk – et sted hvor utviklere kan dele snaps og Linux-brukere søke og installere dem.

Dessuten oppdateres snaps automatisk. Du kan konfigurere når og hvordan oppdateringer skjer. Som standard ser snapd-demonen etter oppdateringer opptil fire ganger om dagen: hver oppdateringssjekk kalles en oppdatering. Du kan også starte en oppdatering manuelt.

Hvordan installere Snapd i Linux

Som beskrevet ovenfor er snapd-demonen bakgrunnstjenesten som administrerer og vedlikeholder snap-miljøet ditt på et Linux-system, ved å implementere innesperringspolicyene og kontrollere grensesnittene som tillater snaps til tilgang til spesifikke systemressurser. Den gir også kommandoen snap og tjener mange andre formål.

For å installere snapd-pakken på systemet ditt, kjør den riktige kommandoen for din Linux-distribusjon.

------------ [On Debian and Ubuntu] ------------ 
sudo apt update 
sudo apt install snapd

------------ [On Fedora Linux] ------------
dnf install snapd			

------------ [On CentOS and RHEL] ------------
yum install epel-release 
yum install snapd		

------------ [On openSUSE - replace openSUSE_Leap_15.0 with the version] ------------
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

------------ [On Manjaro Linux] ------------
pacman -S snapd

------------ [On Arch Linux] ------------
git clone https://aur.archlinux.org/snapd.git
cd snapd
makepkg -si

Etter å ha installert snapd på systemet ditt, aktiverer du systemd-enheten som administrerer hovedkommunikasjonskontakten for snap, ved å bruke systemctl-kommandoene som følger.

Ubuntu og dets derivater, bør dette utløses automatisk av pakkeinstallasjonsprogrammet.

sudo systemctl enable --now snapd.socket

Merk at du ikke kan kjøre kommandoen snap hvis snapd.socket ikke kjører. Kjør følgende kommandoer for å sjekke om den er aktiv og er aktivert for å starte automatisk ved systemoppstart.

sudo systemctl is-active snapd.socket
sudo systemctl status snapd.socket
sudo systemctl is-enabled snapd.socket

Deretter aktiverer du klassisk snap-støtte ved å opprette en symbolsk kobling mellom /var/lib/snapd/snap og /snap som følger.

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

For å sjekke versjonen av snapd og snap kommandolinjeverktøy installert på systemet ditt, kjør følgende kommando.

snap version 

Hvordan installere Snaps i Linux

Kommandoen snap lar deg installere, konfigurere, oppdatere og fjerne snaps og samhandle med det større snap-økosystemet.

Før du installerer en snap, kan du sjekke om den finnes i snap-butikken. For eksempel, hvis applikasjonen tilhører kategorien "chatservere " eller "mediaspillere", kan du kjøre disse kommandoene for å søke etter den, som vil spørre butikken for tilgjengelige pakker i den stabile kanalen.

snap find "chat servers"
snap find "media players"

For å vise detaljert informasjon om en snap, for eksempel rocketchat-server, kan du spesifisere navnet eller banen. Merk at det letes etter navn både i snap-butikken og i de installerte snapsene.

snap info rocketchat-server

For å installere en snap på systemet ditt, for eksempel rocketchat-server, kjør følgende kommando. Hvis ingen alternativer er gitt, installeres en snap som sporer den «stabile »-kanalen, med streng sikkerhetsbegrensning.

sudo snap install rocketchat-server

Du kan velge å installere fra en annen kanal: edge, beta eller candidate, av en eller annen grunn, ved å bruke henholdsvis --edge, --beta eller --candidate alternativer. Eller bruk alternativet --channel og spesifiser kanalen du ønsker å installere fra.

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

Administrer Snaps i Linux

I denne delen vil vi lære hvordan du administrerer snaps i Linux-systemet.

Viser installerte snapper

For å vise et sammendrag av snaps installert på systemet ditt, bruk følgende kommando.

snap list

For å vise gjeldende revisjon av en snap som brukes, spesifiser navnet. Du kan også liste alle tilgjengelige revisjoner ved å legge til alternativet --all.

snap list mailspring
OR
snap list --all mailspring

Oppdatere og tilbakestille Snaps

Du kan oppdatere et spesifisert snap, eller alle snaps i systemet hvis ingen er spesifisert som følger. Kommandoen refresh sjekker kanalen som spores av snappen, og den laster ned og installerer en nyere versjon av snappen hvis den er tilgjengelig.

sudo snap refresh mailspring
OR
sudo snap refresh		#update all snaps on the local system

Etter å ha oppdatert en app til en ny versjon, kan du gå tilbake til en tidligere brukt versjon ved å bruke revert-kommandoen. Merk at dataene knyttet til programvaren også vil bli tilbakestilt.

sudo snap revert mailspring

Nå når du sjekker alle revisjoner av mailspring, er den siste revisjonen deaktivert, en tidligere brukt revisjon er nå aktiv.

snap list --all mailspring

Deaktivere/aktivere og fjerne Snaps

Du kan deaktivere en snap hvis du ikke vil bruke den. Når de er deaktivert, vil en snaps binærfiler og tjenester ikke lenger være tilgjengelige, men alle dataene vil fortsatt være der.

sudo snap disable mailspring

Hvis du trenger å bruke snappen igjen, kan du aktivere den tilbake.

sudo snap enable mailspring

For å fjerne en snap fra systemet fullstendig, bruk kommandoen fjern. Som standard fjernes alle revisjonene til et snap.

sudo snap remove mailspring

For å fjerne en spesifikk revisjon, bruk --revision-alternativet som følger.

sudo snap remove  --revision=482 mailspring

Det er viktig å merke seg at når du fjerner en snap, lagres dataene (som interne bruker-, system- og konfigurasjonsdata) av snapd (versjon 2.39 og nyere) som et øyeblikksbilde, og lagret på systemet i 31 dager. Hvis du installerer snappen på nytt innen 31 dager, kan du gjenopprette dataene.

Konklusjon

Snaps blir mer populære i Linux-fellesskapet ettersom de gir en enkel måte å installere programvare på en hvilken som helst Linux-distribusjon. I denne veiledningen har vi vist hvordan du installerer og jobber med snaps i Linux. Vi dekket hvordan du installerer snapd, installerer snaps, viser installerte snaps, oppdaterer og tilbakestiller snaps, og deaktiverer/aktiverer og fjerner snaps.

Du kan stille spørsmål eller nå oss via tilbakemeldingsskjemaet nedenfor. I den neste delen av denne veiledningen vil vi dekke administrasjon av snaps (kommandoer, aliaser, tjenester og øyeblikksbilder) i Linux.