Cum să lucrați cu pachetele Snap pe Linux
Publicat: 2022-01-29 Când instalați pachete software Linux cu snap
, puteți spune la revedere iadului de dependență și spargeți alte aplicații care funcționează. Pachetele Snap au fost concepute inițial pentru Ubuntu, dar acum sunt disponibile pe o varietate de distribuții Linux.
Ce sunt pachetele Snap?
În trecut, instalarea aplicațiilor pe Linux era o experiență potențial frustrantă. Ai instala ceva doar pentru a descoperi că o anumită bibliotecă sau o altă dependență lipsește sau este învechită. Apoi ai căuta resursa lipsă și ai instala-o, doar pentru a găsi o altă aplicație care depindea de versiunea bibliotecii pe care tocmai ai înlocuit-o. Repară una, sparge una, repetă.
Acest lucru s-a îmbunătățit cu sisteme mai bune de gestionare a pachetelor, cum ar fi apt, dnf și pacman. Cu toate acestea, vă confruntați în continuare cu o luptă dacă aveți nevoie de versiuni diferite ale aceleiași aplicații instalate. Sau, dacă utilizați două aplicații care se confruntă pentru că sunt legate de versiuni specifice, dar diferite, ale unei biblioteci.
O soluție la aceste probleme este ambalarea aplicațiilor și sistemele de implementare. Snappy este unul dintre cele mai populare dintre acestea. Se bazează pe un sistem de ambalare și implementare numit Click, care se referă la inițiativa Ubuntu Touch. AppImage și FlatPack sunt altele pe care le-ați putea întâlni.
Aceste sisteme încapsulează aplicația împreună cu orice dependențe și alte cerințe într-un singur fișier comprimat. Aplicația rulează apoi într-un fel de mini-container. Este sandbox și separat de alte aplicații. Bibliotecile și alte resurse cu care este ambalată sau pe care le necesită aplicația sunt disponibile numai pentru aceasta.
Nu sunt instalate în sensul tradițional, așa că nu provoacă probleme cu alte aplicații care necesită versiuni diferite ale acelorași resurse. Puteți chiar să instalați și să rulați aplicații care necesită versiuni de bibliotecă conflictuale, deoarece fiecare aplicație se află în propriul sandbox.
Totuși, dacă nu sunt instalate în mod obișnuit, cum sunt gestionate? Ei bine, fișierul unic pachet este descărcat, decomprimat și montat ca sistem de fișiere virtual SquashFS
. Vă este prezentat apoi ca un mediu virtual. Toate acestea au loc în culise. Tot ce vei ști este că ai instalat o aplicație și, acum, ai acces la ea.
Desigur, deoarece fiecare fișier pachet trebuie să conțină fiecare resursă de care are nevoie aplicația, fișierele pachetului pot fi mari. De asemenea, este ușor să duplicați o resursă pe care o instalați în mod normal o singură dată, cum ar fi MySQL sau Apache. Dacă două aplicații snap
diferite necesită aceleași resurse, fiecare își aduce propria copie.
Acesta este însă compromisul pentru simplitatea instalării și eliminarea durerilor de cap legate de conflictul de resurse.
Instalarea snapd
Snappy a fost introdus cu Ubuntu 16.04, așa că dacă rulați versiunea respectivă sau mai târziu, sunteți deja gata. Pe mașina noastră, Snappy a fost instalat pe Manjaro 18.04, dar a trebuit să-l instalăm pe Fedora 31.
snap
este atât numele fișierelor pachet, cât și comanda pe care o utilizați pentru a interacționa cu acestea. În culise, demonul snapd
este și numele pachetului pe care trebuie să-l instalați dacă nu aveți deja Snappy pe computer.
Pentru a instala snapd
pe Fedora, tastați următoarea comandă:
sudo dnf install snapd
Dacă trebuie să îl instalați pe Manjaro, utilizați aceste comenzi:
sudo pacman -Sy snapd
sudo systemctl enable --acum snapd.socket
Puteți utiliza comanda snap version
pentru a vedea versiunea clientului snap
, demonul snapd
și numărul seriei software. Numele și ediția distribuției dvs. Linux și versiunea kernel-ului vă vor fi de asemenea afișate.
Introduceți următoarele:
versiune snap
Instalarea pachetelor snap
Este un proces destul de simplu de a instala un pachet snap
. Puteți folosi snap
pentru a căuta pachete snap
, apoi instalați pe cel dorit.
Introducem următoarele pentru a căuta și instala editorul de imagini gimp:
snap find gimp
face căutări snap
pentru potriviri cu indiciul de căutare „gimp” și returnează rezultatele acestuia. Va găsi orice se potrivește sau menționează termenul de căutare.
Pentru a instala unul dintre pachete, folosim valoarea din coloana Name
, după cum se arată mai jos:
sudo snap install gimp
Pe măsură ce se descarcă, procentajul completat crește și o bară de progres se strecoară în partea stângă a ferestrei terminalului. Când instalarea este finalizată, apare un mesaj (după cum se arată mai jos) care vă spune că pachetul a fost instalat.
Puteți utiliza comanda df
pentru a verifica capacitatea și utilizarea diferitelor sisteme de fișiere configurate pe computerul dvs. Linux. Dacă trimitem rezultatul său în comanda grep
și căutăm „gimp”, izolăm intrarea pentru pachetul pe care tocmai l-am instalat.
Introducem următoarele:
df | grep gimp
Acest lucru ne arată că pachetul snap a fost montat ca și cum ar fi un sistem de fișiere. Punctul de montare se află în directorul snap
aici: /snap/gimp/252
. „252” este numărul de lansare al acestei versiuni de gimp
.
LEGATE: Cum să utilizați comanda grep pe Linux
Sistemul de fișiere este listat ca: /dev/loop18
. Fișierele dispozitivului în buclă sunt folosite pentru a face fișierele obișnuite accesibile ca dispozitive bloc. Ele sunt de obicei folosite pentru montarea sistemelor de fișiere în imagini de disc. În acest caz, ei montează sistemul de fișiere SquashFS
în pachetul snap
. „18” înseamnă că acesta este al 18-lea fișier de dispozitiv /dev/loop
utilizat pe acest computer Linux.
Putem folosi comanda df
pentru a verifica rapid acest lucru. Vom folosi opțiunea – t
(tip) pentru a limita rezultatul numai la tipurile de fișiere SquashFS
.
Introducem următoarele:
df -t squashfs
Sunt listate sistemele de fișiere SquashFS
montate. Un fișier de dispozitiv /dev/loop
se ocupă de fiecare dintre ele și există 18 dintre ele.
Fiecare sistem de fișiere este montat pe un director din directorul /snap
. Cu toate acestea, acest lucru nu înseamnă că există 18 pachete snap
diferite instalate pe acest computer. Aceasta este o distribuție Ubuntu, așa că unele pachete snap
sunt instalate imediat din cutie și tocmai am instalat altul.
În plus, atunci când instalați snapd
, instalează câteva pachete snap
de bază pentru a face față nevoilor altor pachete snap
.
Putem folosi comanda snap list
, așa cum se arată mai jos, pentru a enumera pachetele snap
instalate:
listă rapidă
Ieșirea a fost puțin largă, așa că sfârșitul listărilor este afișat mai jos.
Iată întreaga listă:
Nume Versiune Rev Tracking Note editorului miez 16-2.43.3 8689 stabil canonic* miez core18 20200124 1668 stabil canonic* baza gimp 2.10.18 252 snapcrafters stabil - gnome-3-26-1604 3.26.0.20191114 98 stabil/... canonic* - gnome-3-28-1804 3.28.0-16-g27c9498.27c9498 116 stabil canonic* - gnome-calculator 3.34.1+git1.d34dc842 544 stabil/... canonical* - gnome-characters v3.32.1+git3.b9120df 399 stabil/... canonic* - gnome-logs 3.34.0 81 stabil/... canonic* - gnome-system-monitor 3.32.1-3-g0ea89b4922 127 stabil/... canonic* - gtk-common-themes 0.1-28-g1503258 1440 stabil/... canonic* -
După cum puteți vedea, sunt instalate 10 pachete snap, nu 18. Cu toate acestea, aceste 10 pachete au dat naștere celor 18 sisteme de fișiere SquashFS
. Coloanele din tabel sunt destul de explicite, dar iată câteva clarificări:
- Nume : numele pachetului
snap
care a fost instalat. - Versiune : numărul versiunii software-ului din pachetul
snap
. - Rev : numărul de revizuire al pachetului
snap
. - Urmărire : canalul pe care acest pachet
snap
monitorizează pentru actualizări. Sunt patru:- Stabil: canalul implicit. După cum spune și numele, acest canal conține cele mai stabile pachete.
- Candidat: Acest canal este mai puțin stabil, dar foarte aproape de el, deoarece conține software la nivel de lansare candidat, care este cod complet. Trece prin testarea finală înainte de a fi mutat pe canalul stabil.
- Beta: acest canal are calitatea ciclului de dezvoltare târziu, dar nu este garantat că va fi stabil.
- Edge: Pentru testeri timpurii. Nu ar trebui să utilizați acest canal pentru lucrări importante sau pe un computer de producție. Aici să fie dragoni!
- Editor : persoana, compania sau organizația care a lansat pachetul
snap
. Dacă a fost un editor verificat (și fereastra terminalului dvs. acceptă Unicode), veți vedea o bifă verde lângă numele editorului. Dacă nu poate afișa o bifă, veți vedea un asterisc (*
). - Note : Orice comentarii sau informații suplimentare vor apărea aici.
Canalele snap
Puteți utiliza opțiunea de info
pentru a obține o descriere a unui pachet snap
.
Pentru a face acest lucru, introducem următoarele:
snap info gtk-common-themes
Putem vedea ce canal urmărește pachetul și versiunea software-ului din pachetele snap
din fiecare dintre cele patru canale. În majoritatea circumstanțelor, ar trebui să rămâneți pe canalul stabil.
Un pachet snap
verifică de patru ori pe zi pentru a vedea dacă o versiune mai nouă a software-ului este disponibilă de pe canalul pe care îl urmărește sau „urmărește”. Dacă doriți să schimbați canalul pe care un pachet snap
urmărește, puteți utiliza opțiunile de refresh
și --channel
.
Pentru a face acest lucru, introducem următoarele:
sudo snap refresh gtk-common-themes --channel=beta
Dacă ar fi disponibilă o versiune mai nouă a software-ului, aceasta ar fi instalată, dar nu a fost cazul aici. Cu toate acestea, pachetul snap
urmărește acum canalul beta. De îndată ce o nouă versiune beta este lansată, aceasta este descărcată și actualizată automat.
Puteți utiliza opțiunea --list
pentru a verifica dacă sunt disponibile actualizări pentru oricare dintre pachetele snap
instalate pe computer.
Pentru a face acest lucru, introducem următoarele:
sudo snap refresh --list
Vi se va spune dacă oricare dintre canalele pe care le urmăresc pachetele snap
de pe computerul dvs. conține versiuni de software mai noi.
Dacă este disponibilă o versiune mai nouă a software-ului, puteți utiliza opțiunea de refresh
, așa cum se arată mai jos, pentru a forța manual o reîmprospătare:
sudo snap refresh gtk-common-themes
Eliminarea unui pachet snap
Pentru a dezinstala un pachet snap
, puteți utiliza opțiunea de eliminare, după cum se arată mai jos:
sudo snap remove gimp
Snap Cheat Sheet
Utilizarea pachetelor snap este destul de simplă, dar am compilat o listă cu câteva comenzi care vă vor ajuta:
- Pentru a căuta un pachet:
snap find package_name
- Pentru a instala un pachet:
sudo snap install package_name
- Pentru a vedea toate pachetele instalate:
snap list
- Pentru a obține informații despre un singur pachet:
snap info package_name
- Pentru a schimba canalul pe care un pachet îl urmărește pentru actualizări:
sudo snap refresh package_name --channel=channel_name
- Pentru a vedea dacă actualizările sunt gata pentru orice pachet instalat:
sudo snap refresh --list
- Pentru a actualiza manual un pachet:
sudo snap refresh package_name
- Pentru a dezinstala un pachet:
sudo snap remove package_name
Comenzi Linux | ||
Fișiere | tar · pv · cat · tac · chmod · grep · diff · sed · ar · om · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · join · jq · fold · uniq · journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · look · strings · tip · redenumire · zip · dezarhivare · montare · demontare · instalare · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · convert · rclone · shred · srm | |
Procese | alias · ecran · sus · frumos · renice · progres · strace · systemd · tmux · chsh · istoric · la · lot · gratuit · care · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · timeout · wall · da · kill · sleep · sudo · su · time · groupadd · usermod · grupuri · lshw · shutdown · repornire · stop · poweroff · passwd · lscpu · crontab · data · bg · fg | |
Rețele | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · dig · finger · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw |
LEGATE: Cele mai bune laptopuri Linux pentru dezvoltatori și entuziaști