„Snaps“ Linux sistemoje vadovas pradedantiesiems – 1 dalis


Per pastaruosius kelerius metus „Linux“ bendruomenė buvo palaiminta kai kuriais nepaprastais pasiekimais „Linux“ sistemų paketų valdymo srityje, ypač kai kalbama apie universalią arba kryžminio platinimo programinės įrangos pakavimą ir platinimą. Vienas iš tokių patobulinimų yra Snap paketo formatas, kurį sukūrė Canonical, populiaraus Ubuntu Linux kūrėjai.

Kas yra „Snap“ paketai?

Snaps yra kryžminis platinimas, be priklausomybės ir lengvai įdiegiamos programos, supakuotos su visomis priklausomybėmis, kad galėtų veikti visuose pagrindiniuose Linux platinimuose. Iš vienos versijos „Snap“ (programa) veiks visuose palaikomuose „Linux“ paskirstymuose darbalaukyje, debesyje ir daiktų internete. Palaikomi platinimai apima Ubuntu, Debian, Fedora, Arch Linux, Manjaro ir CentOS/RHEL.

Snaps yra saugūs – jie apriboti ir sudėti į smėlio dėžę, kad nepakenktų visai sistemai. Jie veikia skirtingais uždarymo lygiais (tai yra izoliacijos nuo bazinės sistemos ir vienas kito laipsnis). Dar labiau pastebima, kad kiekvienas snapas turi sąsają, kurią kruopščiai atrinko snap'o kūrėjas, atsižvelgdamas į snap'o reikalavimus, kad būtų suteikta prieiga prie konkrečių sistemos išteklių už jų ribų, pvz., prieiga prie tinklo, prieiga prie darbalaukio ir kt.

Kita svarbi sąvoka Snap ekosistemoje yra Kanalai. Kanalas nustato, kuris snap leidimas yra įdiegtas ir stebimas naujinimams, ir jis susideda iš takelių, rizikos lygių ir šakų bei yra suskirstytas pagal juos.

Pagrindiniai snap paketo valdymo sistemos komponentai yra šie:

  • snapd – foninė paslauga, valdanti ir prižiūrinti jūsų snapus Linux sistemoje.
  • Snap – ir programų paketo formatas, ir komandų eilutės sąsajos įrankis, naudojamas snapams įdiegti ir pašalinti bei daugeliui kitų dalykų snap ekosistemoje atlikti.
  • Snapcraft – sistema ir galingas komandų eilutės įrankis snapams kurti.
  • Snap Store – vieta, kur kūrėjai gali bendrinti savo snapus, o „Linux“ naudotojai gali jų ieškoti ir įdiegti.

Be to, snaps taip pat atnaujinamas automatiškai. Galite konfigūruoti, kada ir kaip įvyksta naujinimai. Pagal numatytuosius nustatymus snapd demonas tikrina, ar nėra naujinių iki keturių kartų per dieną: kiekvienas atnaujinimo patikrinimas vadinamas atnaujinimu. Taip pat galite rankiniu būdu inicijuoti atnaujinimą.

Kaip įdiegti „Snapd“ sistemoje „Linux“.

Kaip aprašyta aukščiau, snapd demonas yra foninė paslauga, kuri valdo ir prižiūri jūsų snap aplinką Linux sistemoje, įgyvendindama apribojimo politiką ir valdydama sąsajas, leidžiančias snapus pasiekti konkrečius sistemos išteklius. Ji taip pat teikia komandą snap ir tarnauja daugeliui kitų tikslų.

Norėdami įdiegti snapd paketą savo sistemoje, paleiskite atitinkamą „Linux“ platinimo komandą.

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

Sistemoje įdiegę snapd, įgalinkite sisteminį įrenginį, kuris valdo pagrindinį snap ryšio lizdą, naudodami systemctl komandas, kaip nurodyta toliau.

Ubuntu ir jo išvestiniuose įrenginiuose tai turėtų automatiškai suaktyvinti paketo diegimo programa.

sudo systemctl enable --now snapd.socket

Atminkite, kad negalite paleisti komandos snap, jei neveikia snapd.socket. Vykdykite šias komandas, kad patikrintumėte, ar jis aktyvus ir įgalintas automatiškai paleisti sistemą paleidžiant.

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

Tada įgalinkite klasikinio snap palaikymą sukurdami simbolinę nuorodą tarp /var/lib/snapd/snap ir /snap, kaip nurodyta toliau.

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

Norėdami patikrinti sistemoje įdiegtą snapd ir komandų eilutės įrankio snap versiją, paleiskite šią komandą.

snap version 

Kaip įdiegti „Snaps“ sistemoje „Linux“.

Naudodami komandą snap galite įdiegti, konfigūruoti, atnaujinti ir pašalinti snapus bei sąveikauti su didesne snap ekosistema.

Prieš įdiegdami snap, galite patikrinti, ar jo yra snap parduotuvėje. Pavyzdžiui, jei programa priklauso kategorijai „pokalbių serveriai“ arba „medijos leistuvai“, galite paleisti šias komandas, kad jos ieškotumėte, o tai pateiks užklausą parduotuvėje. turimiems paketams stabiliame kanale.

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

Norėdami parodyti išsamią informaciją apie snap, pvz., rocketchat serverį, galite nurodyti jo pavadinimą arba kelią. Atkreipkite dėmesį, kad pavadinimų ieškoma ir snap parduotuvėje, ir įdiegtuose snapuose.

snap info rocketchat-server

Norėdami įdiegti snap savo sistemoje, pvz., rocketchat-server, paleiskite šią komandą. Jei nepateikiama jokių parinkčių, įdiegiamas snap, stebintis „stabilų“ kanalą, griežtai apribojus saugumą.

sudo snap install rocketchat-server

Dėl vienos ar kitos priežasties galite pasirinkti įdiegti iš kito kanalo: edge, beta arba kandidato, naudodami --edge, --beta arba --candidate parinktys atitinkamai. Arba naudokite parinktį --channel ir nurodykite kanalą, iš kurio norite įdiegti.

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

Tvarkykite „Snaps“ sistemoje „Linux“.

Šiame skyriuje sužinosime, kaip valdyti „snaps“ „Linux“ sistemoje.

Įdiegtų Snaps peržiūra

Norėdami parodyti sistemoje įdiegtų snaps suvestinę, naudokite šią komandą.

snap list

Norėdami nurodyti dabartinę naudojamo snap versiją, nurodykite jos pavadinimą. Taip pat galite išvardyti visas galimas jo versijas, pridėdami parinktį --all.

snap list mailspring
OR
snap list --all mailspring

Snaps atnaujinimas ir grąžinimas

Galite atnaujinti nurodytą snapą arba visus sistemos snapus, jei nė vienas nenurodytas, kaip nurodyta toliau. Komanda refresh patikrina kanalą, kurį stebi momentinis elementas, ir atsisiunčia bei įdiegia naujesnę snapo versiją, jei ji yra.

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

Atnaujinę programą į naują versiją, galite grąžinti anksčiau naudotą versiją naudodami komandą grąžinti. Atminkite, kad su programine įranga susiję duomenys taip pat bus grąžinti.

sudo snap revert mailspring

Dabar, kai tikrinate visas mailspring versijas, naujausia versija yra išjungta, o anksčiau naudota versija dabar yra aktyvi.

snap list --all mailspring

Snaps išjungimas/įjungimas ir pašalinimas

Galite išjungti snap, jei nenorite jo naudoti. Kai išjungsite, snap dvejetainiai failai ir paslaugos nebebus pasiekiami, tačiau visi duomenys vis tiek bus ten.

sudo snap disable mailspring

Jei reikia dar kartą naudoti „Snap“, galite jį įgalinti atgal.

sudo snap enable mailspring

Norėdami visiškai pašalinti snapą iš sistemos, naudokite komandą pašalinti. Pagal numatytuosius nustatymus visi momentinio vaizdo įrašo pakeitimai pašalinami.

sudo snap remove mailspring

Norėdami pašalinti konkrečią versiją, naudokite parinktį --revision, kaip nurodyta toliau.

sudo snap remove  --revision=482 mailspring

Svarbu atminti, kad pašalinus snap jo duomenis (pvz., vidinius naudotojo, sistemos ir konfigūracijos duomenis) išsaugo snapd (2.39 ir naujesnė versija) kaip momentinė nuotrauka ir saugoma sistemoje 31 dieną. Jei iš naujo įdiegsite „Snap“ per 31 dieną, galėsite atkurti duomenis.

Išvada

Snaps tampa vis populiaresni „Linux“ bendruomenėje, nes jie suteikia paprastą būdą įdiegti programinę įrangą bet kuriame „Linux“ paskirstyme. Šiame vadove parodėme, kaip įdiegti ir dirbti su snaps sistemoje Linux. Aprašėme, kaip įdiegti snapd, įdiegti snaps, peržiūrėti įdiegtus snapus, atnaujinti ir grąžinti snapus bei išjungti/įjungti ir pašalinti snapus.

Galite užduoti klausimus arba susisiekti su mumis naudodami toliau pateiktą atsiliepimų formą. Kitoje šio vadovo dalyje apžvelgsime momentinių elementų (komandų, slapyvardžių, paslaugų ir momentinių nuotraukų) valdymą sistemoje „Linux“.