Iesācēju rokasgrāmata par snaps Linux - 1. daļa


Pēdējo gadu laikā Linux kopiena ir svētīta ar dažiem ievērojamiem sasniegumiem pakotņu pārvaldības jomā Linux sistēmās, it īpaši attiecībā uz universālas vai savstarpējas izplatīšanas programmatūras iepakošanu un izplatīšanu. Viens no šādiem sasniegumiem ir Snap pakotnes formāts, kuru izstrādājis populārais Ubuntu Linux veidotājs Canonical.

Snaps ir savstarpēji izplatīts, bez atkarības un viegli instalējamas lietojumprogrammas, kas ir iepakotas ar visām atkarībām, lai darbotos visos lielākajos Linux izplatījumos. Vienā būvējumā snap (lietojumprogramma) darbosies visos atbalstītajos Linux izplatījumos darbvirsmā, mākonī un IoT. Atbalstītie izplatījumi ietver Ubuntu, Debian, Fedora, Arch Linux, Manjaro un CentOS/RHEL.

Snapi ir droši - tie ir norobežoti un ievietoti smilšu kastē, lai tie neapdraudētu visu sistēmu. Viņi darbojas dažādos ierobežojuma līmeņos (kas ir izolācijas pakāpe no bāzes sistēmas un viens otra). Vēl jo vairāk, katram snapam ir saskarne, kuru snap izveidotājs ir rūpīgi izvēlējies, pamatojoties uz snap prasībām, lai nodrošinātu piekļuvi noteiktiem sistēmas resursiem ārpus viņu ierobežojuma, piemēram, piekļuve tīklam, piekļuve darbvirsmai un daudz ko citu.

Vēl viens svarīgs jēdziens snap ekosistēmā ir Kanāli. Kanāls nosaka, kurš papildprogrammas izlaidums ir instalēts un tiek izsekots atjauninājumiem, un tas sastāv no dziesmām, riska līmeņiem un atzarojumiem un ir sadalīts pēc tiem.

Snap pakotņu pārvaldības sistēmas galvenās sastāvdaļas ir:

  • snapd - fona pakalpojums, kas pārvalda un uztur jūsu snapus Linux sistēmā.
  • snap - gan lietojumprogrammas pakotnes formāts, gan komandrindas saskarnes rīks, ko izmanto, lai instalētu un noņemtu snapus un veiktu daudzas citas darbības snap ekosistēmā.
  • snapcraft - ietvars un spēcīgs komandrindas rīks snaps izveidošanai.
  • snap store - vieta, kur izstrādātāji var kopīgot savus momentuzņēmumus, un Linux lietotāji tos meklē un instalē.

Turklāt snaps tiek automātiski atjaunināts. Jūs varat konfigurēt, kad un kā notiek atjaunināšana. Pēc noklusējuma snapd dēmons atjauninājumus pārbauda līdz četrām reizēm dienā: katru atjauninājumu pārbaudi sauc par atsvaidzināšanu. Varat arī manuāli sākt atsvaidzināšanu.

Kā instalēt Snapd Linux

Kā aprakstīts iepriekš, snapd dēmons ir fona pakalpojums, kas pārvalda un uztur jūsu snap vidi Linux sistēmā, ieviešot ierobežošanas politikas un kontrolējot saskarnes, kas ļauj snaps piekļūt noteiktiem sistēmas resursiem. Tas arī nodrošina snap komandu un kalpo daudziem citiem mērķiem.

Lai instalētu snapd pakotni savā sistēmā, palaidiet atbilstošo komandu savam Linux izplatījumam.

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

Pēc snapd instalēšanas savā sistēmā iespējojiet systemd vienību, kas pārvalda galveno snap sakaru kontaktligzdu, izmantojot sistēmas systemctl šādi.

Operētājsistēmā Ubuntu un tā atvasinājumiem tas automātiski jāaktivizē pakotņu instalētājam.

$ sudo systemctl enable --now snapd.socket

Ņemiet vērā, ka nevar palaist komandu snap, ja nedarbojas snapd.socket. Palaidiet šādas komandas, lai pārbaudītu, vai tā ir aktīva un vai tā ir iespējota, lai automātiski sāktu pēc sistēmas palaišanas.

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

Pēc tam iespējojiet klasisko snap atbalstu, izveidojot simbolisku saiti starp/var/lib/snapd/snap un/snap šādi.

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

Lai pārbaudītu sistēmā instalēto snapd un snap komandrindas rīka versiju, palaidiet šo komandu.

$ snap version 

Kā instalēt Snaps Linux

Snap komanda ļauj instalēt, konfigurēt, atsvaidzināt un noņemt snapus un mijiedarboties ar lielāku snap ekosistēmu.

Pirms snap instalēšanas varat pārbaudīt, vai snap veikalā tas pastāv. Piemēram, ja lietojumprogramma pieder kategorijai “tērzēšanas serveri” vai “multivides atskaņotāji”, varat to palaist, palaižot šīs komandas, kas veikalā vaicās par pieejamajām pakotnēm stabilajā kanālā.

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

Lai parādītu detalizētu informāciju par snap, piemēram, rocketchat-server, varat norādīt tā nosaukumu vai ceļu. Ņemiet vērā, ka vārdi tiek meklēti gan snap veikalā, gan instalētajos snapos.

$ snap info rocketchat-server

Lai sistēmā instalētu snap, piemēram, rocketchat-server, izpildiet šo komandu. Ja opcijas netiek nodrošinātas, tiek uzstādīts snap, sekojot “stabilajam” kanālam, stingri ierobežojot drošību.

$ sudo snap install rocketchat-server

Vienu vai citu iemeslu dēļ varat izvēlēties instalēt no cita kanāla: malas, beta vai kandidāta, izmantojot - mala , --beta vai < attiecīgi kods> - kandidāta opcijas. Vai arī izmantojiet opciju --channel un norādiet kanālu, no kura vēlaties instalēt.

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

Pārvaldiet Snaps Linux

Šajā sadaļā mēs uzzināsim, kā pārvaldīt snapus Linux sistēmā.

Lai parādītu sistēmā instalēto snaps kopsavilkumu, izmantojiet šo komandu.

$ snap list

Lai uzskaitītu pašreiz lietojamā snapa labojumu, norādiet tā nosaukumu. Varat arī uzskaitīt visus pieejamos labojumus, pievienojot opciju - visi .

$ snap list mailspring
OR
$ snap list --all mailspring

Jūs varat atjaunināt norādīto snap vai visus sistēmas snapus, ja neviens nav norādīts šādi. Atsvaidzināšanas komanda pārbauda kanālu, kuru izseko snap, un tā lejupielādē un instalē jaunāku snap versiju, ja tā ir pieejama.

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

Pēc lietotnes atjaunināšanas uz jaunu versiju, izmantojot komandu Revert, varat atgriezties pie iepriekš izmantotās versijas. Ņemiet vērā, ka tiks atjaunoti arī ar programmatūru saistītie dati.

$ sudo snap revert mailspring

Tagad, kad pārbaudāt visas e-pasta versijas versijas, jaunākā versija ir atspējota, un iepriekš izmantotā pārskatīšana tagad ir aktīva.

$ snap list --all mailspring

Ja nevēlaties to izmantot, varat atspējot snap. Pēc atspējošanas snap binārie faili un pakalpojumi vairs nebūs pieejami, tomēr visi dati joprojām būs pieejami.

$ sudo snap disable mailspring

Ja jums atkal jāizmanto snap, varat to atkal iespējot.

$ sudo snap enable mailspring

Lai pilnībā noņemtu snapu no sistēmas, izmantojiet komandu Remove. Pēc noklusējuma visi snap labojumi tiek noņemti.

$ sudo snap remove mailspring

Lai noņemtu noteiktu pārskatījumu, izmantojiet opciju --revision šādi.

$ sudo snap remove  --revision=482 mailspring

Ir svarīgi atzīmēt, ka, noņemot snap, tā dati (piemēram, iekšējā lietotāja, sistēmas un konfigurācijas dati) snapd (versija 2.39 un jaunāka) tiek saglabāti kā momentuzņēmums un tiek saglabāti sistēmā 31 dienu. Ja 31 dienas laikā atkārtoti instalējat snap, datus varat atjaunot.

Snaps kļūst arvien populārāks Linux kopienā, jo tie nodrošina ērtu veidu, kā instalēt programmatūru jebkurā Linux izplatīšanā. Šajā ceļvedī mēs esam parādījuši, kā instalēt un strādāt ar snaps Linux. Mēs apskatījām, kā instalēt snapd, instalēt snaps, apskatīt instalētos snaps, atjaunināt un atjaunot snaps, kā arī atspējot/iespējot un noņemt snaps.

Jūs varat uzdot jautājumus vai sazināties ar mums, izmantojot zemāk esošo atsauksmju veidlapu. Šīs rokasgrāmatas nākamajā daļā mēs aplūkosim momentuzņēmumu (komandu, aizstājvārdu, pakalpojumu un momentuzņēmumu) pārvaldību Linux.