Jak pracować z pakietami Snap w systemie Linux
Opublikowany: 2022-01-29 Instalując pakiety oprogramowania dla systemu Linux za pomocą snap
, możesz pożegnać się z piekłem zależności i łamaniem innych działających aplikacji. Pakiety Snap zostały pierwotnie zaprojektowane dla Ubuntu, ale są teraz dostępne w różnych dystrybucjach Linuksa.
Czym są pakiety Snap?
W przeszłości instalowanie aplikacji w systemie Linux było potencjalnie frustrującym doświadczeniem. Instalowałbyś coś tylko po to, by znaleźć konkretną bibliotekę lub inną zależność, której brakuje lub jest nieaktualna. Następnie wyszukasz brakujący zasób i zainstalujesz go, tylko po to, aby znaleźć inną aplikację zależną od wersji biblioteki, którą właśnie zastąpiłeś. Napraw jeden, złam jeden, powtórz.
Poprawiło się to dzięki lepszym systemom zarządzania pakietami, takim jak apt, dnf i pacman. Jednak nadal napotykasz trudności, jeśli potrzebujesz zainstalować różne wersje tej samej aplikacji. Lub, jeśli używasz dwóch aplikacji, które kolidują, ponieważ są powiązane z określonymi — ale różnymi — wersjami biblioteki.
Jednym z rozwiązań tych problemów są systemy pakowania i wdrażania aplikacji. Snappy jest jednym z bardziej popularnych. Opiera się na systemie pakowania i wdrażania o nazwie Click, który nawiązuje do inicjatywy Ubuntu Touch. AppImage i FlatPack to inne, z którymi możesz się spotkać.
Systemy te hermetyzują aplikację wraz z wszelkimi zależnościami i innymi wymaganiami w jednym skompresowanym pliku. Następnie aplikacja działa w rodzaju mini-kontenera. Jest umieszczony w piaskownicy i oddzielony od innych aplikacji. Biblioteki i inne zasoby, z którymi aplikacja jest pakowana lub których wymaga, są dostępne tylko dla niej.
Nie są instalowane w tradycyjnym sensie, więc nie powodują problemów z innymi aplikacjami, które wymagają różnych wersji tych samych zasobów. Możesz nawet instalować i uruchamiać aplikacje, które wymagają sprzecznych wersji bibliotek, ponieważ każda aplikacja znajduje się we własnej piaskownicy.
Jeśli jednak nie są one instalowane w zwykły sposób, jak są obsługiwane? Cóż, pojedynczy plik pakietu jest pobierany, dekompresowany i montowany jako wirtualny system plików SquashFS
. Jest on następnie przedstawiany jako środowisko wirtualne. Wszystko to odbywa się za kulisami. Będziesz wiedział tylko, że zainstalowałeś aplikację, a teraz masz do niej dostęp.
Oczywiście, ponieważ każdy plik pakietu musi zawierać wszystkie zasoby, których potrzebuje aplikacja, pliki pakietów mogą być duże. Łatwo jest również zduplikować zasób, który normalnie instalujesz tylko raz, taki jak MySQL lub Apache. Jeśli dwie różne aplikacje snap
wymagają tych samych zasobów, każda z nich dostarcza własną kopię.
Jest to jednak kompromis w stosunku do prostoty instalacji i usunięcia problemów związanych z konfliktem zasobów.
Instalowanie snapd
Snappy został wprowadzony wraz z Ubuntu 16.04, więc jeśli używasz tej wersji lub nowszej, już jesteś gotowy. Na naszym komputerze Snappy został zainstalowany na Manjaro 18.04, ale musieliśmy go zainstalować na Fedorze 31.
snap
to zarówno nazwa plików pakietu, jak i polecenie, którego używasz do interakcji z nimi. Za kulisami demon snapd
to także nazwa pakietu, który musisz zainstalować, jeśli nie masz jeszcze Snappy na swoim komputerze.
Aby zainstalować snapd
w Fedorze, wpisz następujące polecenie:
sudo dnf zainstaluj snapd
Jeśli chcesz zainstalować go na Manjaro, użyj tych poleceń:
sudo pacman -Sy snapd
sudo systemctl włącz --teraz snapd.socket
Możesz użyć polecenia snap version
, aby zobaczyć wersję klienta snap
, demona snapd
i numer seryjny oprogramowania. Wyświetlona zostanie również nazwa i wydanie twojej dystrybucji Linuksa oraz wersja jądra.
Wpisz następujące polecenie:
wersja zatrzaskowa
Instalowanie pakietów zatrzaskowych
Instalowanie pakietu snap
jest dość prostym procesem. Możesz użyć snap
, aby wyszukać pakiety snap
, a następnie zainstalować ten, który chcesz.
Wpisujemy następujące polecenie, aby wyszukać i zainstalować edytor obrazów gimp:
znajdź gimp
snap
wyszukuje dopasowania do wskazówki wyszukiwania „gimp” i zwraca wyniki. Znajdzie wszystko, co pasuje lub wspomina wyszukiwane hasło.
Aby zainstalować jeden z pakietów, używamy wartości z kolumny Name
, jak pokazano poniżej:
sudo snap install gimp
W miarę pobierania odsetek ukończonej liczby wzrasta, a pasek postępu przesuwa się po lewej stronie okna terminala. Po zakończeniu instalacji pojawi się komunikat (jak pokazano poniżej) informujący, że pakiet został zainstalowany.
Możesz użyć polecenia df
, aby sprawdzić pojemność i wykorzystanie różnych systemów plików skonfigurowanych na komputerze z systemem Linux. Jeśli przekierujemy jego dane wyjściowe do polecenia grep
i wyszukamy „gimp”, wyizolujemy wpis dotyczący właśnie zainstalowanego pakietu.
Wpisujemy:
df | grep gimp
To pokazuje, że pakiet snap został zamontowany tak, jakby był systemem plików. Punkt montowania znajduje się w katalogu snap
tutaj: /snap/gimp/252
. „252” to numer wydania tej wersji gimp
.
POWIĄZANE: Jak korzystać z polecenia grep w systemie Linux
System plików jest wymieniony jako: /dev/loop18
. Pliki urządzeń pętli są używane do udostępniania zwykłych plików jako urządzeń blokowych. Są one zwykle używane do montowania systemów plików w obrazach dysków. W tym przypadku montują system plików SquashFS
w pakiecie snap
. „18” oznacza, że jest to 18. plik urządzenia /dev/loop
używany na tym komputerze z systemem Linux.
Możemy użyć polecenia df
, aby szybko to sprawdzić. Użyjemy opcji – t
(typ), aby ograniczyć dane wyjściowe tylko do typów plików SquashFS
.
Wpisujemy:
df -t squashfs
Wyświetlane są zamontowane systemy plików SquashFS
. Plik /dev/loop
obsługuje każdy z nich, a jest ich 18.
Każdy system plików jest montowany w katalogu w katalogu /snap
. Nie oznacza to jednak, że na tym komputerze jest zainstalowanych 18 różnych pakietów snap
. Jest to dystrybucja Ubuntu, więc niektóre pakiety snap
są instalowane zaraz po wyjęciu z pudełka, a my właśnie zainstalowaliśmy kolejny.
Dodatkowo, po zainstalowaniu snapd
instaluje niektóre podstawowe pakiety snap
, aby obsłużyć potrzeby innych pakietów snap
.
Możemy użyć polecenia snap list
, jak pokazano poniżej, aby wyświetlić listę zainstalowanych pakietów snap
:
lista zatrzasków
Wynik był trochę szeroki, więc koniec zestawień pokazano poniżej.
Oto cała lista:
Nazwa Wersja Śledzenie obrotów Uwagi wydawcy rdzeń 16-2.43.3 8689 stabilny rdzeń kanoniczny* core18 20200124 1668 stabilna podstawa kanoniczna* gimp 2.10.18 252 stabilnych snapcraftów - gnome-3-26-1604 3.26.0.20191114 98 stabilny/... kanoniczny* - gnome-3-28-1804 3.28.0-16-g27c9498.27c9498 116 stabilny kanoniczny* - gnome-calculator 3.34.1+git1.d34dc842 544 stabilny/... kanoniczny* - gnome-characters v3.32.1+git3.b9120df 399 stabilne/... kanoniczne* - gnome-logs 3.34.0 81 stabilny/... kanoniczny* - gnome-system-monitor 3.32.1-3-g0ea89b4922 127 stabilny/... kanoniczny* - gtk-common-themes 0.1-28-g1503258 1440 stabilne/... kanoniczne* -
Jak widać, zainstalowanych jest 10 pakietów snap, a nie 18. Jednak te 10 pakietów dało początek 18 systemom plików SquashFS
. Kolumny tabeli są dość oczywiste, ale oto kilka wyjaśnień:
- Nazwa : nazwa zainstalowanego pakietu
snap
. - Wersja : numer wersji oprogramowania w pakiecie
snap
. - Rev : numer wersji pakietu
snap
. - Śledzenie : kanał, który ten pakiet
snap
monitoruje pod kątem aktualizacji. Są cztery:- Stabilny: kanał domyślny. Jak sama nazwa wskazuje, ten kanał zawiera najbardziej stabilne pakiety.
- Kandydat: ten kanał jest mniej stabilny, ale bardzo zbliżony, ponieważ zawiera oprogramowanie na poziomie wersji kandydującej, które jest kompletne pod względem kodu. Przechodzi przez końcowe testy, zanim zostanie przeniesiony do stabilnego kanału.
- Beta: Ten kanał ma jakość z późnego cyklu rozwoju, ale nie ma gwarancji, że będzie stabilny.
- Edge: Dla wczesnych testerów kompilacji. Nie powinieneś używać tego kanału do ważnej pracy lub na komputerze produkcyjnym. Oto smoki!
- Wydawca : osoba, firma lub organizacja, która wydała pakiet
snap
. Jeśli był to zweryfikowany wydawca (a okno terminala obsługuje Unicode), zobaczysz zielony znacznik wyboru obok nazwy wydawcy. Jeśli nie może pokazać znacznika wyboru, zobaczysz gwiazdkę (*
). - Uwagi : Tutaj pojawią się wszelkie komentarze lub dodatkowe informacje.
Przystawki Kanały
Możesz użyć opcji info
, aby uzyskać opis pakietu snap
.
W tym celu wpisujemy:
przystawki informacje gtk-common-themes
Możemy zobaczyć, który kanał śledzi pakiet, oraz wersję oprogramowania w pakietach snap
w każdym z czterech kanałów. W większości przypadków powinieneś pozostać na stabilnym kanale.
Pakiet snap
sprawdza cztery razy dziennie, czy nowsza wersja oprogramowania jest dostępna z kanału, który ogląda lub „śledzi”. Jeśli chcesz zmienić kanał, który śledzi pakiet snap
, możesz użyć opcji refresh
i --channel
.
W tym celu wpisujemy:
sudo snap odświeżanie gtk-common-themes --channel=beta
Gdyby dostępna była nowsza wersja oprogramowania, zostałaby zainstalowana, ale tutaj tak nie było. Jednak pakiet snap
śledzi teraz kanał beta. Gdy tylko pojawi się nowa wersja beta, zostanie automatycznie pobrana i zaktualizowana.
Możesz użyć opcji --list
, aby sprawdzić, czy są dostępne aktualizacje dla któregokolwiek z pakietów snap
zainstalowanych na twoim komputerze.
W tym celu wpisujemy:
sudo snap odświeżanie -- lista
Zostaniesz poinformowany, czy którykolwiek z kanałów śledzonych przez pakiety snap
na Twoim komputerze zawiera nowsze wersje oprogramowania.
Jeśli dostępna jest nowsza wersja oprogramowania, możesz użyć opcji refresh
, jak pokazano poniżej, aby ręcznie wymusić odświeżenie:
sudo snap odświeżanie gtk-common-themes
Usuwanie pakietu zatrzaskowego
Aby odinstalować pakiet snap
, możesz użyć opcji usuwania, jak pokazano poniżej:
sudo snap usuń gimp
Ściągawka na zatrzask
Korzystanie z pakietów przystawek jest dość proste, ale przygotowaliśmy listę niektórych poleceń, które pomogą Ci:
- Aby wyszukać pakiet:
snap find package_name
- Aby zainstalować pakiet:
sudo snap install package_name
- Aby zobaczyć wszystkie zainstalowane pakiety:
snap list
- Aby uzyskać informacje o pojedynczym pakiecie:
snap info package_name
- Aby zmienić kanał, który pakiet śledzi pod kątem aktualizacji:
sudo snap refresh package_name --channel=channel_name
- Aby sprawdzić, czy aktualizacje są gotowe dla jakichkolwiek zainstalowanych pakietów:
sudo snap refresh --list
- Aby ręcznie zaktualizować pakiet:
sudo snap refresh package_name
- Aby odinstalować pakiet:
sudo snap remove package_name
Polecenia Linuksa | ||
Pliki | tar · pv · kot · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · dysk testowy · seq · fd · pandoc · cd · $PATH · awk · join · jq · fold · uniq · journalctl · ogon · stat · ls · fstab · echo · mniej · chgrp · chown · rev · wygląd · stringi · typ · zmiana nazwy · zip · rozpakuj · montuj · umount · zainstaluj · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · konwertuj · rclone · shred · srm | |
Procesy | alias · ekran · top · ładne · renice · postęp · strace · systemd · tmux · chsh · historia · w · wsad · free · co · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · timeout · ściana · tak · kill · sen · sudo · su · czas · groupadd · usermod · grupy · lshw · zamknij · restart · halt · poweroff · passwd · lscpu · crontab · data · bg · fg | |
Sieć | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · dig · finger · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw |
POWIĄZANE: Najlepsze laptopy z systemem Linux dla programistów i entuzjastów