På Linux er der mange forskellige måder at installere software på. Der er Debian-pakker, Redhat RPM-pakker, Arch Linux-brugerlageret, Gentoo Portage-træet, AppImages, tar.gz-arkiver med statiske binære filer, og listen fortsætter. Alligevel, med lige så mange måder at installere software på Linux, er der stadig mange problemer til stede. For eksempel: Når man udvikler professionel software til Linux, er det meget svært at få det på hver enkelt Linux-distribution. Folk hos Ubuntu er forpligtet til at løse dette problem. Deres løsning ; Snap pakker. Her er et kig på behovet for Snap-pakker på Linux, og hvordan man bruger og installerer dem.
SPOILER ALERT: Rul ned og se videotutorialen i slutningen af denne artikel.
Indholdsfortegnelse
Hvorfor Snap-pakker blev udviklet
Ofte finder udviklere sig selv på at pakke deres programmer i mange forskellige pakketyper og bliver modløse. Det tager tid at lave alle disse pakkefiler, og som et resultat kommer mange programmer ikke ind på Linux. Det er derfor folk hos Ubuntu udviklede Snap-pakker. En snap er noget, der kan installeres fra snapbutikken, og inde i “snappen” er alt, hvad programmet skal køre.
Det betyder, at alt, hvad appen har brug for (biblioteker, binære filer, billedfiler, lydfiler og programmer) er selvstændige og kan køre uafhængigt af systemet. Dette sikrer, at uanset hvad, programmet kører på trods af, hvor forældet eller forkert konfigureret værtssystemet er. Dette gør det effektivt muligt at installere snaps på enhver Linux-distribution og gør det til et “universelt installationsprogram”, som enhver udvikler, stor som lille, kan hente og endda lave deres egen snapbutik!
Installerer Snapd og får det til at køre
Snapd er teknologien, der hjælper snaps med at køre på Linux. Firmaet bag snaps har arbejdet sammen med andre Linux-distributionsproducenter, så de populære og mest brugte Linux-systemer nemt kan køre og installere snaps. Sådan får du det til at køre
Bemærk: Ubuntu-brugere såvel som dem, der bruger en Linux-distribution baseret på Ubuntu, behøver ikke at installere Snapd.
Debian tester/ustabil
sudo apt install snapd
Fedora
sudo dnf install snapd sudo systemctl enable --now snapd.socket
Arch Linux
sudo pacman -S snapd sudo systemctl enable --now snapd.socket
OpenSUSE Leap 42.2
sudo zypper addrepo https://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_42.2/ snappy sudo zypper install snapd sudo systemctl enable --now snapd.socket
OpenSUSE Tumbleweed
sudo zypper addrepo https://download.opensuse.org/repositories/system:/snappy/openSUSE_Tumbleweed/ snappy sudo zypper install snapd sudo systemctl enable --now snapd.socket
Gentoo
sudo -s
nano -w /etc/portage/repos.conf/gentoo-snappy.conf
Indsæt følgende:
[gentoo-snappy] # An unofficial overlay that supports the installation of the "Snappy" backbone. # Maintainer: Clayton "kefnab" Dobbs ([email protected]) # Upstream Maintainer: Zygmunt "zyga" Krynicki ([email protected]) location = /usr/local/portage/gentoo-snappy sync-type = git sync-uri = https://github.com/zyga/gentoo-snappy.git priority = 50 auto-sync = yes
Gem konfigurationsfilen med ctrl + O.
emaint sync --repo gentoo-snappy
Sådan bruger du Snaps
Som tidligere nævnt hostes snaps i “snap-butikken”, der drives af henholdsvis Ubuntu og Canonical. Alle kan poste et snap gratis. For dem, der ønsker at udgive deres egne snappakker til butikken, skal du gå til Snapcraft.io. Denne hjemmeside har alle de oplysninger (i tunge detaljer), der kan få dig i gang.
For at søge i butikken efter software, prøv at bruge find-kommandoen:
snap find programname
For eksempel:
snap find telegram
Dette udskriver en liste over alle installerbare snap-pakker med nøgleordet “telegram” i det. Se denne liste igennem, og find ud af, hvilken pakke du skal installere. Brug derefter installeringskommandoen til at få det til at ske.
sudo snap install telegram-latest
Dette vil downloade den seneste version af snappen fra butikken og installere den på systemet og derefter montere snap-beholderen, så brugeren kan få adgang til softwaren inde i den. For at se, hvor snappen er monteret, skal du køre kommandoen lsblk. Dette skyldes, at softwaren er en monteret volumen og ikke anderledes for systemet fra enhver anden monteret harddisk eller enhed.
Fjern enhver installeret snap-pakke fra systemet med fjernkommandoen.
For eksempel:
sudo snap remove telegram-latest
Glemt navnet på en snap, du vil fjerne? Prøv dette:
snap list
Listekommandoen udskriver en liste over alle installerede snaps. Herfra skal du notere navnet på snappen, og derefter fjerne det fra systemet med fjernkommandoen ovenfor.
Bemærk: Find andre kommandoer, der ikke er omtalt i denne øvelse, ved at bruge snap –help
Opdaterer Snaps
Som enhver software skal snaps opdateres. Snap-dæmonen styrer hver snap-beholder på systemet. Som et resultat heraf opdateres snap-pakker ikke med konventionelle midler. For at opdatere installerede snap-pakker på systemet skal du bruge refresh-kommandoen. Den sidste afgørende kommando til brug af snaps er opdateringskommandoen.
sudo snap refresh
Konklusion
Snap-pakker har potentialet til at erstatte måder, hvorpå vi installerer og bruger software på Linux, ved at gøre det nemmere at distribuere. I stedet for at softwareudviklere skal oprette flere forskellige pakker, binære filer og leveringsmetoder for at udføre den samme opgave, vil de bare oprette en enkelt snapcontainer. Selvstændig med biblioteker, eksekverbar kode og andre vigtige filer, som brugerne nemt kan installere med en enkelt kommando.
Snaps er ikke perfekte. Nogle nye Linux-brugere vil have problemer med at bruge dem. Dette skyldes, at installation af apps kun fungerer med kommandolinjen. Vi kan kun håbe, at efterhånden som snap-pakker bliver mere og mere populære, vil folk hos Ubuntu arbejde på en god brugergrænseflade til at installere og bruge snaps. Indtil da skal kommandolinjen klare.