Usa ka Giya sa Nagsugod sa Mga Snaps sa Linux - Bahin 1


Sa milabay nga pipila ka tuig, ang komunidad sa Linux napanalanginan sa pipila ka talagsaon nga mga pag-uswag sa bahin sa pagdumala sa pakete sa mga sistema sa Linux, ilabi na kung mahitungod sa universal o cross-distribution software packaging ug distribution. Usa sa ingon nga mga pag-uswag mao ang format sa pakete sa Snap nga gihimo sa Canonical, ang mga naghimo sa sikat nga Ubuntu Linux.

Ang mga snap kay cross-distribution, walay dependency, ug sayon nga i-install ang mga aplikasyon nga giputos sa tanan nilang mga dependency nga modagan sa tanang dagkong distribusyon sa Linux. Gikan sa usa ka pagtukod, usa ka snap (aplikasyon) ang modagan sa tanan nga gisuportahan nga mga distribusyon sa Linux sa desktop, sa panganod, ug IoT. Ang gisuportahan nga mga distribusyon naglakip sa Ubuntu, Debian, Fedora, Arch Linux, Manjaro, ug CentOS/RHEL.

Lig-on ang mga snap - kini gi-confine ug gibutangan og sandbox aron dili nila makompromiso ang tibuok sistema. Nagdagan sila ubos sa lainlaing lebel sa pagkakulong (nga mao ang lebel sa pagkahimulag gikan sa base system ug sa usag usa). Labaw sa tanan, ang matag snap adunay usa ka interface nga maampingon nga gipili sa naghimo sa snap, base sa mga kinahanglanon sa snap, aron mahatagan ang access sa piho nga mga kapanguhaan sa sistema sa gawas sa ilang pagkakulong sama sa pag-access sa network, pag-access sa desktop, ug uban pa.

Ang laing importante nga konsepto sa snap ecosystem mao ang Channels. Ang usa ka channel nagtino kung unsang pagpagawas sa usa ka snap ang gi-install ug gisubay alang sa mga update ug kini naglangkob ug gibahinbahin sa, mga track, lebel sa peligro, ug mga sanga.

Ang mga nag-unang sangkap sa sistema sa pagdumala sa snap package mao ang:

  • snapd – ang serbisyo sa background nga nagdumala ug nagmintinar sa imong mga snap sa usa ka sistema sa Linux.
  • snap – ang pormat sa package sa aplikasyon ug ang command-line interface tool nga gigamit sa pag-instalar ug pagtangtang sa mga snaps ug pagbuhat ug daghan pang butang sa snap ecosystem.
  • snapcraft – ang framework ug gamhanang command-line tool para sa paghimo og snaps.
  • snap store – usa ka dapit diin ang mga developers makapaambit sa ilang mga snaps ug ang mga user sa Linux mangita ug mag-install niini.

Gawas pa, awtomatiko usab nga gi-update ang mga snaps. Mahimo nimong i-configure kung kanus-a ug kung giunsa mahitabo ang mga pag-update. Sa kasagaran, ang snapd daemon nagsusi sa mga update hangtod sa upat ka beses sa usa ka adlaw: ang matag update check gitawag og refresh. Mahimo ka usab nga mano-mano nga magsugod sa pag-refresh.

Giunsa ang Pag-install sa Snapd sa Linux

Sama sa gihulagway sa ibabaw, ang snapd daemon mao ang serbisyo sa background nga nagdumala ug nagmintinar sa imong snap environment sa usa ka sistema sa Linux, pinaagi sa pagpatuman sa mga palisiya sa pagkakulong ug pagkontrol sa mga interface nga nagtugot sa mga snaps nga maka-access sa piho nga mga kapanguhaan sa sistema. Naghatag usab kini sa snap command ug nagsilbi sa daghang uban pang mga katuyoan.

Aron ma-install ang snapd nga pakete sa imong sistema, padagana ang angay nga mando alang sa imong pag-apod-apod sa Linux.

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

Human ma-install ang snapd sa imong sistema, i-enable ang systemd unit nga nagdumala sa main snap communication socket, gamit ang systemctl commands sama sa mosunod.

Sa Ubuntu ug sa mga gigikanan niini, kini kinahanglan nga awtomatikong ma-trigger sa package installer.

$ sudo systemctl enable --now snapd.socket

Timan-i nga dili ka makadagan sa snap command kung ang snapd.socket wala magdagan. Pagdalagan ang mosunud nga mga mando aron masusi kung kini aktibo ug mahimo nga awtomatiko nga magsugod sa boot sa system.

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

Sunod, i-enable ang classic snap nga suporta pinaagi sa paghimo og simbolikong sumpay tali sa /var/lib/snapd/snap ug /snap sama sa mosunod.

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

Aron masusi ang bersyon sa snapd ug snap command-line tool nga na-install sa imong system, padagana ang mosunod nga command.

$ snap version 

Giunsa ang Pag-install sa Snaps sa Linux

Ang snap command nagtugot kanimo sa pag-instalar, pag-configure, pag-refresh ug pagtangtang sa mga snaps, ug makig-uban sa mas dako nga snap ecosystem.

Sa dili pa mag-install og snap, mahimo nimong susihon kung naa ba kini sa snap store. Pananglitan, kung ang aplikasyon nahisakop sa kategorya nga \chat server o \media player\, mahimo nimong ipadagan kini nga mga mando aron pangitaon kini, nga magpangutana sa tindahan alang sa magamit nga mga pakete sa stable nga channel.

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

Aron ipakita ang detalyado nga kasayuran bahin sa usa ka snap, pananglitan, rocketchat-server, mahimo nimong ipiho ang ngalan o agianan niini. Timan-i nga ang mga ngalan gipangita sa snap store ug sa na-install nga snaps.

$ snap info rocketchat-server

Aron ma-install ang usa ka snap sa imong sistema, pananglitan, rocketchat-server, padagana ang mosunud nga mando. Kung walay mga kapilian nga gihatag, usa ka snap ang gi-install nga nagsubay sa stable nga channel, nga adunay higpit nga pagpugong sa seguridad.

$ sudo snap install rocketchat-server

Mahimo nimong pilion ang pag-instalar gikan sa laing channel: edge, beta, o kandidato, sa usa ka rason o sa lain, gamit ang --edge, --beta, o --kandidato mga kapilian matag usa. O gamita ang --channel nga opsyon ug ipiho ang channel nga gusto nimong i-install.

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

Pagdumala sa Snaps sa Linux

Niini nga seksyon, mahibal-an namon kung giunsa pagdumala ang mga snaps sa sistema sa Linux.

Aron ipakita ang usa ka summary sa mga snap nga na-install sa imong sistema, gamita ang mosunod nga sugo.

$ snap list

Aron ilista ang kasamtangan nga rebisyon sa usa ka snap nga gigamit, ipiho ang ngalan niini. Mahimo usab nimo ilista ang tanan nga magamit nga mga rebisyon pinaagi sa pagdugang sa kapilian nga --tanan.

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

Mahimo nimong i-update ang usa ka piho nga snap, o ang tanan nga mga snaps sa sistema kung wala’y gipiho nga ingon sa mosunod. Ang refresh command nagsusi sa channel nga gisubay sa snap ug kini nag-download ug nag-instalar sa mas bag-ong bersyon sa snap kung kini anaa.

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

Pagkahuman sa pag-update sa usa ka app sa usa ka bag-ong bersyon, mahimo nimong ibalik ang kaniadto gigamit nga bersyon gamit ang revert command. Timan-i nga ang datos nga nalangkit sa software ibalik usab.

$ sudo snap revert mailspring

Karon kung imong susihon ang tanan nga mga pagbag-o sa mailspring, ang pinakabag-o nga rebisyon gi-disable, ang usa ka kaniadto gigamit nga rebisyon aktibo na karon.

$ snap list --all mailspring

Mahimo nimong i-disable ang usa ka snap kung dili nimo gusto nga gamiton kini. Kung na-disable, ang mga binary ug serbisyo sa snap dili na magamit, bisan pa, ang tanan nga datos naa gihapon.

$ sudo snap disable mailspring

Kung kinahanglan nimo nga gamiton pag-usab ang snap, mahimo nimo kini ibalik.

$ sudo snap enable mailspring

Aron hingpit nga makuha ang usa ka snap gikan sa imong sistema, gamita ang pagtangtang nga mando. Sa kasagaran, ang tanan nga mga pagbag-o sa snap gitangtang.

$ sudo snap remove mailspring

Aron matangtang ang usa ka piho nga rebisyon, gamita ang --revision nga kapilian sama sa mosunod.

$ sudo snap remove  --revision=482 mailspring

Importante nga hinumdoman nga kung imong tangtangon ang usa ka snap, ang datos niini (sama sa internal nga tiggamit, sistema, ug data sa pag-configure) gitipigan pinaagi sa snapd (bersyon 2.39 ug mas taas) isip usa ka snapshot, ug gitipigan sa sistema sulod sa 31 ka adlaw. Kung imong i-install pag-usab ang snap sa sulod sa 31 ka adlaw, mahimo nimong ibalik ang datos.

Ang mga snap nahimong mas popular sa sulod sa Linux nga komunidad tungod kay kini naghatag ug sayon nga paagi sa pag-instalar sa software sa bisan unsang Linux distribution. Sa kini nga giya, gipakita namon kung giunsa ang pag-install ug pagtrabaho sa mga snaps sa Linux. Gihisgotan namon kung giunsa ang pag-install sa snapd, pag-install sa mga snaps, pagtan-aw sa mga na-install nga snaps, pag-update ug pag-revert sa mga snaps, ug pag-disable/pagpagana ug pagtangtang sa mga snaps.

Mahimo kang mangutana o makontak kanamo pinaagi sa feedback form sa ubos. Sa sunod nga bahin niini nga giya, atong hisgotan ang pagdumala sa mga snap (mga sugo, alyas, serbisyo, ug mga snapshot) sa Linux.