Az elmúlt néhány évben a Linux közösséget figyelemre méltó fejlesztésekkel áldották meg a Linux rendszerek csomagkezelésének területén, különösen, ha az univerzális vagy terjesztésközi szoftvercsomagolásról és terjesztésről van szó. Az egyik ilyen előrelépés a Canonical, a népszerű Ubuntu Linux készítői által kifejlesztett Snap csomagformátum.
Mi is az a Snap csomag?
A Snap csomagok olyan terjesztésközi, függőségektől mentes és könnyen telepíthető alkalmazások, amelyeket minden függőségükkel együtt csomagolnak, hogy minden nagyobb Linux-disztribúción fussanak. Egyetlen buildből egy snap (alkalmazás) az összes támogatott Linux-disztribúción futtatható asztali, felhőalapú és IoT környezetben. A támogatott disztribúciók közé tartozik az Ubuntu, Debian, Fedora, Arch Linux, Manjaro és CentOS/RHEL.
A snapek biztonságosak – korlátozottak és sandboxoltak, hogy ne veszélyeztessék a teljes rendszert. Különböző zártsági szinteken futnak (ami az alaprendszertől és egymástól való elszigeteltségi fokot jelenti). Ami még fontosabb, hogy minden snap rendelkezik egy interfésszel, amelyet a snap készítője gondosan kiválasztott a snap követelményei alapján, hogy hozzáférést biztosítson bizonyos rendszerforrásokhoz a korlátozáson kívül, mint például hálózati hozzáférés, asztali hozzáférés és így tovább.
A snap-ökoszisztémában egy másik fontos fogalom a csatornák. Egy csatorna határozza meg, hogy egy snap melyik kiadását telepítik és követik a frissítéseket, és ez áll, és ezekre van felosztva, pályák, kockázati szintek és ágak.
A snap csomagkezelő rendszer fő összetevői:
- snapd – a háttérszolgáltatás, amely kezeli és karbantartja a snapokat egy Linux rendszerben.
- snap – mind az alkalmazáscsomag-formátum, mind a parancssori felületű eszköz, amelyet a snaps telepítésére és eltávolítására, valamint a snap ökoszisztémában sok más dologra használnak.
- snapcraft – a keretrendszer és a nagy teljesítményű parancssori eszköz a snaps létrehozásához.
- snap store – egy hely, ahol a fejlesztők megoszthatják a snaps-jeiket, a Linux felhasználók pedig kereshetik és telepíthetik azokat.
Mellett a snaps automatikusan frissül is. Beállíthatja, hogy mikor és hogyan történjenek a frissítések. Alapértelmezés szerint a snapd démon naponta legfeljebb négyszer ellenőrzi a frissítéseket: minden egyes frissítési ellenőrzést frissítésnek nevezünk. Manuálisan is kezdeményezhet frissítést.
Hogyan telepíthető a Snapd Linuxban
A fentiekben leírtak szerint a snapd daemon az a háttérszolgáltatás, amely kezeli és karbantartja a snap-környezetet egy Linux-rendszerben, végrehajtva a korlátozási irányelveket és vezérelve azokat az interfészeket, amelyek lehetővé teszik a snaps számára az egyes rendszererőforrások elérését. Emellett biztosítja a snap parancsot és számos más célt is szolgál.
A snapd csomag telepítéséhez a rendszerre futtassa a Linux disztribúciójának megfelelő parancsot.
------------ ------------ $ 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
A snapd telepítése után engedélyezze a snap fő kommunikációs aljzatát kezelő systemd egységet a systemctl parancsok segítségével az alábbiak szerint.
Az Ubuntu és származékai esetében ezt a csomagtelepítőnek automatikusan el kell indítania.
$ sudo systemctl enable --now snapd.socket
Figyeljen arra, hogy nem tudja futtatni a snap parancsot, ha a snapd.socket nem fut. A következő parancsok futtatásával ellenőrizheti, hogy aktív-e és engedélyezve van-e az automatikus indítás a rendszerindításkor.
$ sudo systemctl is-active snapd.socket$ sudo systemctl status snapd.socket$ sudo systemctl is-enabled snapd.socket
Következő lépésként engedélyezze a klasszikus snap támogatást a /var/lib/snapd/snap és a /snap közötti szimbolikus link létrehozásával az alábbiak szerint.
$ sudo ln -s /var/lib/snapd/snap /snap
A rendszerre telepített snapd és snap parancssori eszköz verziójának ellenőrzéséhez a következő parancsot futtassa.
$ snap version
How to Install Snaps in Linux
A snap parancs lehetővé teszi a snapok telepítését, konfigurálását, frissítését és eltávolítását, valamint a tágabb snap-ökoszisztémával való együttműködést.
Egy snap telepítése előtt ellenőrizheti, hogy létezik-e a snap-tárolóban. Ha például az alkalmazás a “csevegőszerverek” vagy a “médialejátszók” kategóriájába tartozik, akkor ezekkel a parancsokkal kereshet rá, ami lekérdezi az áruházban a stabil csatornában elérhető csomagokat.
$ snap find "chat servers"$ snap find "media players"
Egy snap, például a rocketchat-server részletes információinak megjelenítéséhez megadhatja annak nevét vagy elérési útvonalát. Vegye figyelembe, hogy a neveket mind a snap store-ban, mind a telepített snap-ekben keresi a rendszer.
$ snap info rocketchat-server
Egy snap, például a rocketchat-server telepítéséhez futtassa a következő parancsot. Ha nem adunk meg semmilyen opciót, akkor a snap a “stable” csatornát követve, szigorú biztonsági korlátozással települ.
$ sudo snap install rocketchat-server
Az --edge
, --beta
, illetve --candidate
opciókkal választhatjuk, hogy más csatornáról telepítjük: edge, beta, vagy candidate. Vagy használja a --channel
opciót, és adja meg a csatornát, ahonnan telepíteni szeretne.
$ sudo snap install --edge rocketchat-server $ sudo snap install --beta rocketchat-server$ sudo snap install --candidate rocketchat-server
Snapszok kezelése Linuxban
Ebben a fejezetben megtanuljuk, hogyan kezeljük a snapszokat Linux rendszerben.
Telepített snaps megtekintése
A rendszerünkre telepített snaps összesítésének megjelenítéséhez használjuk a következő parancsot.
$ snap list
A használt snaps aktuális revíziójának listázásához adjuk meg a nevét. A --all
opció hozzáadásával az összes elérhető revíziót is listázhatja.
$ snap list mailspringOR$ snap list --all mailspring
Updating and Reverting Snaps
A következők szerint frissíthet egy megadott snapet, vagy a rendszer összes snapjét, ha egyik sincs megadva. A frissítés parancs ellenőrzi a snap által követett csatornát, és letölti és telepíti a snap újabb verzióját, ha az elérhető.
$ sudo snap refresh mailspringOR$ sudo snap refresh#update all snaps on the local system
Az alkalmazás új verzióra történő frissítése után a revert parancs segítségével visszaállíthatja a korábban használt verziót. Vegye figyelembe, hogy a szoftverhez tartozó adatok is visszaállításra kerülnek.
$ sudo snap revert mailspring
Most a mailspring összes revíziójának ellenőrzésekor a legújabb revízió ki van kapcsolva, egy korábban használt revízió aktív.
$ snap list --all mailspring
Snapok letiltása/engedélyezése és eltávolítása
Tilthat egy snapot, ha nem kívánja használni. Ha letiltja, a beépülő modul bináris állományai és szolgáltatásai többé nem lesznek elérhetőek, azonban az összes adat továbbra is megmarad.
$ sudo snap disable mailspring
Ha újra használni szeretné a beépülő modult, akkor újra engedélyezheti.
$ sudo snap enable mailspring
A beépülő modul teljes eltávolításához használja a remove parancsot. Alapértelmezés szerint egy beépülő modul összes revíziója eltávolításra kerül.
$ sudo snap remove mailspring
Egy adott revízió eltávolításához használja a --revision
opciót az alábbiak szerint.
$ sudo snap remove --revision=482 mailspring
Fontos megjegyezni, hogy egy beépülő modul eltávolításakor annak adatait (például a belső felhasználói, rendszer- és konfigurációs adatokat) a snapd (2.39-es és újabb verzió) pillanatfelvételként elmenti, és 31 napig tárolja a rendszerben. Abban az esetben, ha a 31 napon belül újratelepíti a snapet, visszaállíthatja az adatokat.
Következtetés
A snapek egyre népszerűbbek a Linux közösségen belül, mivel egyszerű módot biztosítanak a szoftverek telepítésére bármely Linux disztribúcióra. Ebben az útmutatóban megmutattuk, hogyan lehet telepíteni és dolgozni a snaps-ekkel Linuxon. Kitértünk a snapd telepítésére, a snaps telepítésére, a telepített snaps megtekintésére, a snaps frissítésére és visszaállítására, valamint a snaps letiltására/engedélyezésére és eltávolítására.
Feltehet kérdéseket, vagy elérhet minket az alábbi visszajelző űrlapon keresztül. Az útmutató következő részében a snaps (parancsok, aliasok, szolgáltatások és pillanatképek) kezelésével foglalkozunk Linuxban.