r   e   k   l   a   m   a
r   e   k   l   a   m   a

Już nie pakiety, lecz kontenery: Snappy zastąpi APT-a jako menedżer oprogramowania Ubuntu

Strona główna AktualnościOPROGRAMOWANIE

Zaprezentowana na początku tego roku specjalna wersja Ubuntu o nazwie Core, zbudowana z myślą o końcówkach Internetu Rzeczy, przyniosła m.in. nowy ciekawy menedżer pakietów oprogramowania o nazwie Snappy. Wygląda na to, że nie będzie się on jednak ograniczał tylko do telefonów, serwerów w chmurach, czy systemów sterowania robotami. Pożegnajcie .deb – Canonical dał do zrozumienia, że będzie to domyślny menedżer pakietów dla wszystkich wersji Ubuntu, także desktopowych.

Canonical nie rezygnuje z planów przekształcenia swojej linuksowej dystrybucji w spójny autorski system operacyjny bazujący na otwartych linuksowych komponentach, uzupełnionych o własne rozwiązania, takie jak serwer grafiki Mir czy pulpit Unity. Wprowadzony do Ubuntu Core menedżer Snappy trafił właśnie do testowej wersji Ubuntu Desktop Next, wykorzystywanej jako środowisko testowe dla nowych rozwiązań, by zastąpić stosowaną od lat parę narzędzi APT i dpkg, zapożyczoną z Debiana i powszechnie wykorzystywaną we wszystkich jego potomnych dystrybucjach.

To ogromna zmiana dla Ubuntu, którą odczują nie tylko opiekunowie oficjalnych pakietów i niezależni twórcy aplikacji, ale też i końcowi użytkownicy. Snappy nie jest bowiem kolejną wariacją na temat „archiwum plików z garścią metadanych”, ale czymś w rodzaju systemu lekkich kontenerów, pozwalającym na izolowanie między sobą aplikacji i ich zależności. Oto podstawowe różnice między menedżerem apt a Snappy:

r   e   k   l   a   m   a
  • Pakiety Snappy zawierają wszystkie niezbędne do uruchomienia aplikacji zależności, w kompatybilnych dla nich wersjach. Powinno to w teorii ułatwić np. instalowanie komercyjnych gier spoza repozytoriów, często wymagających forsowania dynamicznego ładowania bibliotek w wersjach innych niż zapewniane przez system, zwiększyć ma też stabilność aplikacji, gwarantując że zmiana wersji systemowych bibliotek nie przyniesie niespodziewanych kłopotów.
  • Aktualizowanie pakietów Snappy będzie znacznie szybsze niż do tej pory, menedżer pobierać będzie bowiem nie całe nowe pakiety, lecz niewielkich rozmiarów pliki różnicowe (delta), tak jak to jest np. w menedżerze zypper z OpenSUSE. Ułatwi to życie użytkownikom sprzętu mobilnego, często mającym jedynie ograniczony dostęp do Sieci.
  • Snappy to całkowite oddzielenie kodu od plików konfiguracyjnych i danych użytkownika. Wykonywalne pliki są ustawione jako tylko do odczytu, co ma ograniczyć ryzyko ich uszkodzenia podczas normalnego używania. Tak samo dane użytkownika są chronione poprzez automatyczny mechanizm kopii zapasowych, włączany podczas aktualizowania lub zastępowania wersji pakietu starszą.
  • Izolacja pakietów i ich samodzielność oznacza, że nawet jeśli nowa wersja oprogramowania przyniesie niepożądane regresje, łatwo będzie wrócić do starszej wersji, albo nawet zainstalować obie wersje obok siebie. Pakiety trafiają bowiem do katalogu /apps/<pakiet>/current/. Bez problemu możemy mieć wiele wersji tego samego pakietu, symboliczny link wskazywać będzie po prostu na tę, z której chcemy korzystać.
  • Można się też spodziewać znacznej redukcji ryzyka przy instalowaniu pakietów spoza repozytoriów. Po pierwsze, Snappy stosuje cyfrowe podpisy pakietów, dzięki czemu możemy mieć pewność, że pochodzą one od producenta, a nie zostały przerobione przez cyberprzestępców czy jakieś agencje rządowe. Po drugie, Snappy wykorzystuje mechanizm restrykcji AppArmor, pozwalający na granularne ograniczanie uprawnień aplikacji, a nawet limitowanie im udostępnianych zasobów sprzętowych.

Przy przejściu z pakietów .deb na Snappy Canonical obiecuje, że nowe pakiety będą powstawać na bazie swoich odpowiedników z Debiana, tak więc przynajmniej kompatybilność na poziomie kodu źródłowego ma zostać zachowana. Oznacza to też jednak, że konieczne będzie przebudowanie wielu tysięcy pakietów, a następnie ich regularne aktualizowanie – i może to być bardziej kłopotliwe niż w wypadku dzisiaj stosowanych „debów”.

Snappy, przynajmniej w swojej obecnej postaci, wiąże się bowiem z kilkoma problemami. Najpoważniejszy z nich wiąże się z rozwlekłością – skoro każdy pakiet zawiera własne zależności, to system i aplikacje użytkownika zainstalowane przez Snappy zajmują znacznie więcej miejsca na dysku, niż dzisiejsze Ubuntu. W wypadku specjalizowanych obrazów, np. serwera WWW do wdrożenia w chmurze, nie jest to wielki problem, ale na desktopowym systemie z tysiącami zainstalowanych pakietów sytuacja robi się nieciekawa. Deweloperzy Canonicala informują jednak, że w przyszłości Snappy doczeka się obsługi deduplikacji – pliki o takiej samej wartości funkcji skrótu (haszu) będą automatycznie linkowane do jednej wzorcowej kopii. Deduplikacja objąć ma także operacje aktualizacji, a być może nawet zmapowane linkerem biblioteki w plikach wykonywalnych.

Nietrywialnym problemem Snappy jest też kwestia poprawek bezpieczeństwa. Odkrycie luki np. w bibliotece kryptograficznej, dostarczanej jako pakiet .deb, oznacza że wystarczy zaktualizować jedną bibliotekę, by wszystkie korzystające z niej aplikacje były już bezpieczne – a aplikacji takich mogą być dziesiątki. W wypadku Snappy mamy tę samą sytuację co na Windows. Użytkownicy będą musieli czekać, aż opiekunowie pakietów przeglądarek, komunikatorów, klientów poczty i innych potrzebujących kryptografii narzędzi przygotują ich nowe zaktualizowane wersje, a następnie wszystko oddzielnie aktualizować. Jak na razie Canonical nie odniósł się do tego problemu.

Zainteresowanych Snappy zapraszamy do pobawienia się w maszynie wirtualnej albo z Ubuntu Core, albo z Ubuntu Desktop Next.

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.