Co musisz wiedzieć o Snapach w Ubuntu 20.04

Photo of author

By maciekx

Ubuntu 20.04 Focal Fossa to znakomite wydanie, które zdobyło wiele pozytywnych recenzji. Jednakże, decyzja o zastąpieniu klasycznego Centrum Oprogramowania systemem instalacji aplikacji opartym na przystawkach wzbudza kontrowersje. W artykule przyjrzymy się, jakie konsekwencje niesie to dla użytkowników.

Czym są pakiety Snap na Linuxie?

Termin „Snap” odnosi się do zarówno polecenia snap, jak i do formatu plików przystawek. Przystawka łączy aplikację z jej wszystkimi zależnościami w jeden skompresowany plik. Zależności te mogą obejmować biblioteki, serwery WWW, bazy danych lub inne elementy niezbędne do prawidłowego działania aplikacji.

Główną zaletą przystawek jest to, że upraszczają proces instalacji, eliminując problem piekła zależności. Problem ten występuje, gdy nowa aplikacja nie może być uruchomiona z powodu braku odpowiednich zasobów, ich niewłaściwej wersji lub konfliktu z plikami wykorzystywanymi przez inne aplikacje, co uniemożliwia ich działanie.

Podczas instalacji można się spodziewać, że przystawka zostanie rozpakowana i zainstalowana. W trakcie działania plik przystawki jest montowany na urządzeniu pętli blokowej, co umożliwia dostęp do plików wewnętrznych Systemu Plików SquashFS.

Aplikacje działają w izolowanym środowisku, co oznacza, że ich pliki nie kolidują z plikami systemowymi. Umożliwia to także instalację wielu wersji tej samej aplikacji bez ryzyka konfliktów.

Jednakże, wadą jest to, że pliki instalacyjne są większe niż tradycyjne pliki DEB. Przystawki zajmują więcej miejsca na dysku, ponieważ każda aplikacja instaluje swoją własną kopię potrzebnych zasobów. Chociaż pamięci masowe stają się coraz tańsze, wielu użytkowników wciąż niechętnie akceptuje ideę, że każda aplikacja działa w swoim miniaturowym kontenerze. Dodatkowo, uruchamianie aplikacji może być wolniejsze.

Snapy były także krytykowane za brak zgodności z motywami pulpitu oraz za automatyczne aktualizacje. Niektórzy użytkownicy są ostrożni, ponieważ przystawki mogą być tworzone przez osoby trzecie, co budzi wątpliwości co do ich „oficjalności”.

W związku z tym, Canonical w wersji Focal Fossa zdecydował się na zastąpienie aplikacji Ubuntu Software wersją, która domyślnie korzysta z przystawek. Co oznacza to dla użytkowników?

Centrum Oprogramowania Ubuntu

Możemy użyć polecenia df, aby uzyskać listę zamontowanych systemów plików SquashFS na Twoim komputerze. Użyjemy opcji -t (typ), aby ograniczyć dane wyjściowe do interesujących nas systemów plików:

df -t squashfs

Następnie, użyjemy polecenia snap list aby zobaczyć zainstalowane przystawki:

snap list

W systemie GNOME znajdują się dwie przystawki związane z pulpitem, dwie dotyczące podstawowej funkcjonalności przystawek, jedna dla motywów GTK i jedna dla sklepu z przystawkami. Oczywiście aplikacja snap-store również jest bardzo prosta.

Oto ciekawostka: jeśli uruchomisz polecenie snap-store w terminalu, uruchomiona aplikacja to oprogramowanie Ubuntu.

Normalnie uruchamiasz aplikację Ubuntu Software, klikając jej ikonę. Uruchamiamy ją z wiersza poleceń, aby pokazać, że pod powierzchnią jest to teraz aplikacja do przechowywania przystawek:

snap-store

Aplikacja Ubuntu Software prezentuje się znajomo. Możesz przeszukiwać te same programy, co wcześniej.

Spróbujmy znaleźć i zainstalować aplikację „sqlitebrowser”. Ekran wyników wyświetli szczegóły aplikacji oraz zrzut ekranu. Wybierz „Instaluj”, aby zainstalować oprogramowanie.

Jeśli nie wiesz, nie podejrzewasz żadnych zmian pod maską. Przewiń w dół, aby zobaczyć nowe informacje specyficzne dla przystawek.

Lista „Szczegóły” zawiera poniższe informacje:

Kanał: kanał, z którego będzie pobierana aplikacja.
Wersja: wersja oprogramowania.
Licencja: typ licencji.
Programista: osoba lub zespół, który stworzył przystawkę.
Źródło: lokalizacja, z której przystawka zostanie pobrana (snapcraft.io to sklep Snapcraft firmy Canonical).
Rozmiar pobierania: rozmiar pliku przystawki.

Kanał może być jednym z następujących:

Stabilny: domyślny, zawierający najbardziej stabilne i niezawodne pakiety.
Kandydat: kanał o niższej stabilności, bliski wydania, zawierający oprogramowanie w wersji kandydującej.
Beta: kanał w późnym etapie rozwoju, ale nie gwarantujący stabilności.
Edge: dla entuzjastów testowania wczesnych wersji, niezalecany do użycia w krytycznych zastosowaniach.

Po zakończeniu instalacji możemy ponownie sprawdzić listę zainstalowanych przystawek:

snap list

Nowy wpis pojawi się na końcu listy. Uruchommy aplikację:

sqlitebrowser

Wszystko działa poprawnie w aplikacji, chociaż interfejs może wydawać się nieco przestarzały. Elementy GUI stylizowane na pseudo-3D przypominają starsze interfejsy graficznych interfejsów użytkownika. To nie jest regułą dla wszystkich przystawek, ale w tym przypadku jest to wyraźnie zauważalne.

Instalacja za pomocą terminala

Instalacja aplikacji z terminala nie uległa zmianie. Nadal masz dostęp do narzędzia wiersza poleceń snap, co pozwala na instalowanie i odinstalowywanie przystawek bezpośrednio z terminala. Oczywiście polecenia apt-get i apt także działają.

Spróbujmy zainstalować tę samą aplikację z terminala. Ponieważ wersja, którą zainstalowaliśmy wcześniej, jest prosta, nie będą one miały na siebie wpływu:

sudo apt-get install sqlitebrowser

Poczekaj na zakończenie instalacji. Naciśnij klawisz Super i wpisz „sqlitebrowser”. Po wpisaniu kilku znaków na ekranie pojawią się dwie wersje programu.

Uruchom obie wersje.

Jak widać, obie wersje zostały zainstalowane i działają jednocześnie.

Wersja widoczna na tylnej stronie to ta, którą zainstalowaliśmy z terminala, natomiast wersja z przodu to przystawka:

Wersja z polecenia apt-get to 3.11.2.
Wersja Snap to 3.11.99.

Co ciekawe, wersja z terminala jest starsza. Niezależnie od tego, widać, że obie wersje współistnieją i działają poprawnie. Snapy spełniają więc swoją rolę, oddzielając różne wersje tej samej aplikacji.

Dodatkowo, instalacja aplikacji za pomocą apt lub apt-get przebiega tak samo jak dotychczas i nie wpływa na nią system przystawek.

Którą opcję wybrać?

Czy w ogóle obchodzi Cię, jaki typ aplikacji wybierasz? Jeśli nie, wybierz przystawki.

Jeżeli którakolwiek z poniższych kwestii ma dla Ciebie znaczenie, zrezygnuj z aplikacji Ubuntu Software i zainstaluj programy w tradycyjny sposób:

Snapy uruchamiają się wolniej, co może być bardziej odczuwalne na starszym sprzęcie.
Przystawki zajmują więcej miejsca na dysku.
Snapy aktualizują się automatycznie.
Snapy mogą być niezgodne z zainstalowanymi motywami.
Nie zawsze można uznać przystawki za „oficjalne”, ponieważ często są tworzone przez wolontariuszy.

Jeśli Twój komputer jest stosunkowo nowoczesny, różnica w szybkości między uruchomieniem przystawki a tradycyjną aplikacją nie powinna być znacząca. Największe opóźnienie odczuliśmy podczas instalacji. Pobieranie snapów trwało znacznie dłużej, ale po zakończeniu instalacji proces przebiegał sprawnie. Pobieranie jest jednak jednorazowym zadaniem, więc nie będzie to dla Ciebie codzienny problem.

Nawet jeśli uważasz, że przystawki to przyszłość i chcesz je w pełni zaakceptować, nie możesz całkowicie na nie polegać. Niektóre aplikacje nie są dostępne w formie przystawek, co oznacza, że w takich przypadkach musisz je zainstalować tradycyjnie przez terminal.

Jasne jest, że Canonical w tym ruchu stara się promować przystawki. Dla programistów Ubuntu przystawki są przyszłością. Oczywiście masz możliwość korzystania z nich, ignorowania ich lub stworzenia systemu hybrydowego, który łączy przystawki oraz tradycyjne instalacje oparte na DEB.


newsblog.pl