Een Beginnersgids voor Snaps in Linux – Deel 1

De afgelopen jaren is de Linux-gemeenschap gezegend met opmerkelijke vooruitgang op het gebied van pakketbeheer op Linux-systemen, vooral als het gaat om universele of cross-distributiesoftwarepakketten en -distributie. Een van deze vooruitgangen is het Snap-pakketformaat ontwikkeld door Canonical, de makers van de populaire Ubuntu Linux.

Wat zijn Snap-pakketten?

Snaps zijn cross-distributie, afhankelijkheidsvrije en gemakkelijk te installeren toepassingen verpakt met al hun afhankelijkheden om te draaien op alle belangrijke Linux-distributies. Vanuit één build zal een snap (toepassing) draaien op alle ondersteunde Linux-distributies op desktop, in de cloud en IoT. Ondersteunde distributies zijn onder andere Ubuntu, Debian, Fedora, Arch Linux, Manjaro en CentOS/RHEL.

Snaps zijn veilig – ze zijn ingesloten en afgezonderd zodat ze het hele systeem niet compromitteren. Ze draaien onder verschillende isolatieniveaus (dat is de mate van isolatie van het basissysteem en elkaar). Opmerkelijk is dat elke snap een interface heeft die zorgvuldig is geselecteerd door de maker van de snap, op basis van de vereisten van de snap, om toegang te bieden tot specifieke systeembronnen buiten hun afzondering zoals netwerktoegang, desktoptoegang en meer.

Een ander belangrijk concept in het snap-ecosysteem is Kanalen. Een kanaal bepaalt welke release van een snap is geïnstalleerd en gevolgd voor updates, en het bestaat uit en is onderverdeeld in, tracks, risiconiveaus en branches.

De belangrijkste onderdelen van het snap-pakketbeheersysteem zijn:

  • snapd – de achtergronddienst die uw snaps beheert en onderhoudt op een Linux-systeem.
  • snap – zowel het toepassingspakketformaat als de opdrachtregelinterface-tool die wordt gebruikt om snaps te installeren en te verwijderen en vele andere dingen te doen in het snap-ecosysteem.
  • snapcraft – het framework en krachtige opdrachtregeltool voor het bouwen van snaps.
  • snapwinkel – een plek waar ontwikkelaars hun snaps kunnen delen en Linux-gebruikers ze kunnen zoeken en installeren.

Bovendien worden snaps ook automatisch bijgewerkt. U kunt configureren wanneer en hoe updates plaatsvinden. Standaard controleert de snapd-daemon tot vier keer per dag op updates: elke updatecontrole wordt een refresh genoemd. U kunt ook handmatig een refresh starten.

Hoe Snapd te installeren in Linux

Zoals hierboven beschreven, is de snapd-daemon de achtergronddienst die uw snap-omgeving beheert en onderhoudt op een Linux-systeem, door de inperkingsbeleidsregels te implementeren en de interfaces te regelen die snaps toegang verlenen tot specifieke systeembronnen. Het biedt ook de snap-opdracht en dient vele andere doeleinden.

Om het snapd-pakket op uw systeem te installeren, voert u het juiste commando uit voor uw Linux-distributie.

------------ [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

Na het installeren van snapd op uw systeem, activeert u de systemd-unit die de hoofdcommunicatiesocket van snap beheert, met behulp van de systemctl-commando’s als volgt.

Op Ubuntu en zijn derivaten zou dit automatisch moeten worden geactiveerd door de pakketinstaller.

$ sudo systemctl enable --now snapd.socket

Merk op dat u het snap-commando niet kunt uitvoeren als de snapd.socket niet actief is. Voer de volgende commando’s uit om te controleren of deze actief is en of deze is ingeschakeld om automatisch te starten bij het opstarten van het systeem.

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

Vervolgens schakelt u de ondersteuning voor classic snap in door een symbolische koppeling te maken tussen /var/lib/snapd/snap en /snap als volgt.

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

Om de versie van snapd en de snap command-line tool geïnstalleerd op uw systeem te controleren, voert u het volgende commando uit.

$ snap version 
Check Snapd and Snap Version

Hoe Snaps te Installeren in Linux

Met het snap-commando kunt u snaps installeren, configureren, vernieuwen en verwijderen, en communiceren met het grotere snap-ecosysteem.

Voor het installeren van een snap, kunt u controleren of deze in de snap-store bestaat. Bijvoorbeeld, als de toepassing thuishoort in de categorie ” chat-servers ” of ” mediaspelers “, kunt u deze commando’s uitvoeren om ernaar te zoeken, die de winkel doorzoeken naar beschikbare pakketten in het stabiele kanaal.

$ snap find "chat servers"
$ snap find "media players"
Find Applications in Snap Store

Om gedetailleerde informatie over een snap weer te geven, bijvoorbeeld rocketchat-server, kunt u de naam of het pad specificeren. Let op dat namen worden gezocht in zowel de snap-store als in de geïnstalleerde snaps.

$ snap info rocketchat-server
Get Info About Application in Snap

Om een snap op uw systeem te installeren, bijvoorbeeld rocketchat-server, voert u het volgende commando uit. Als er geen opties worden opgegeven, wordt een snap geïnstalleerd die het ” stabiele ” kanaal volgt, met strikte beveiligingsbeperkingen.

$ sudo snap install rocketchat-server
Install Application from Snap Store

U kunt ervoor kiezen om te installeren vanuit een ander kanaal: edge, beta, of kandidaat, om welke reden dan ook, met behulp van de opties --edge, --beta, of --candidate respectievelijk. Of gebruik de optie --kanaal en specificeer het kanaal waaruit u wilt installeren.

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

Beheer Snaps in Linux

In deze sectie zullen we leren hoe snaps te beheren in het Linux-systeem.

Geïnstalleerde Snaps Weergeven

Om een samenvatting weer te geven van geïnstalleerde snaps op uw systeem, gebruikt u het volgende commando.

$ snap list
List Installed Snaps

Om de huidige revisie van een gebruikte snap weer te geven, geef de naam ervan op. Je kunt ook alle beschikbare revisies weergeven door de --all optie toe te voegen.

$ snap list mailspring
OR
$ snap list --all mailspring
List All Installation Versions of Snap

Het bijwerken en terugdraaien van Snaps

Je kunt een specifieke snap bijwerken, of alle snaps in het systeem als er geen zijn gespecificeerd zoals hieronder. Het refresh commando controleert het kanaal dat wordt gevolgd door de snap en het downloadt en installeert een nieuwere versie van de snap als die beschikbaar is.

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

Na het bijwerken van een app naar een nieuwe versie, kun je terugkeren naar een eerder gebruikte versie met behulp van het revert commando. Let op dat de gegevens die bij de software horen ook worden teruggedraaid.

$ sudo snap revert mailspring
Revert a Snap to Older Version

Als je nu alle revisies van mailspring controleert, is de nieuwste revisie uitgeschakeld, een eerder gebruikte revisie is nu actief.

$ snap list --all mailspring
Check Revision of Snap

Uitschakelen/Inschakelen en Verwijderen van Snaps

Je kunt een snap uitschakelen als je deze niet wilt gebruiken. Wanneer uitgeschakeld, zullen de binair bestanden en services van een snap niet langer beschikbaar zijn, maar alle gegevens blijven behouden.

$ sudo snap disable mailspring

Als je de snap weer moet gebruiken, kun je deze weer inschakelen.

$ sudo snap enable mailspring

Om een snap volledig van je systeem te verwijderen, gebruik je het remove commando. Standaard worden alle revisies van een snap verwijderd.

$ sudo snap remove mailspring

Om een specifieke revisie te verwijderen, gebruik je de --revision optie zoals hieronder.

$ sudo snap remove  --revision=482 mailspring

Het is belangrijk op te merken dat wanneer je een snapshot verwijdert, de gegevens (zoals interne gebruikers-, systeem- en configuratiegegevens) worden opgeslagen door snapd (versie 2.39 en hoger) als een snapshot en op het systeem worden bewaard gedurende 31 dagen. In het geval dat je de snap binnen de 31 dagen opnieuw installeert, kun je de gegevens herstellen.

Conclusie

Snaps worden steeds populairder binnen de Linux-community omdat ze een eenvoudige manier bieden om software te installeren op elke Linux-distributie. In deze handleiding hebben we laten zien hoe je snaps installeert en ermee werkt in Linux. We behandelden hoe je snapd installeert, snaps installeert, geïnstalleerde snaps bekijkt, snaps bijwerkt en terugdraait, en snaps uitschakelt/inschakelt en verwijdert.

Je kunt vragen stellen of contact met ons opnemen via het feedbackformulier hieronder. In het volgende deel van deze handleiding zullen we het beheren van snaps (opdrachten, aliassen, services en snapshots) in Linux behandelen.

Source:
https://www.tecmint.com/install-snap-in-linux/