Jak pracować z pakietami Snap w systemie Linux

Opublikowany: 2022-01-29
Ubuntu

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.

Reklama

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 

Reklama

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 

Reklama

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.

Reklama

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 

Reklama

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.

Reklama

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

POWIĄZANE: Najlepsze laptopy z systemem Linux dla programistów i entuzjastów