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

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

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

10.05.2015 15:36

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

To ogromnazmiana dla Ubuntu, którą odczują nie tylko opiekunowieoficjalnych pakietów i niezależni twórcy aplikacji, ale też ikońcowi użytkownicy. Snappy nie jest bowiem kolejną wariacją natemat „archiwum plików z garścią metadanych”, ale czymś wrodzaju systemu lekkich kontenerów, pozwalającym na izolowaniemiędzy sobą aplikacji i ich zależności. Oto podstawowe różnicemiędzy menedżerem apt a Snappy:

  • Pakiety Snappy zawierają wszystkie niezbędne do uruchomieniaaplikacji zależności, w kompatybilnych dla nich wersjach. Powinnoto w teorii ułatwić np. instalowanie komercyjnych gier spozarepozytorió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 zmianawersji systemowych bibliotek nie przyniesie niespodziewanychkłopotów.
  • Aktualizowanie pakietów Snappy będzie znacznie szybsze niż dotej pory, menedżer pobierać będzie bowiem nie całe nowe pakiety,lecz niewielkich rozmiarów pliki różnicowe (delta), tak jak tojest np. w menedżerze zypper z OpenSUSE. Ułatwi to życieużytkownikom sprzętu mobilnego, często mającym jedynieograniczony dostęp do Sieci.
  • Snappy to całkowite oddzielenie kodu od plików konfiguracyjnychi danych użytkownika. Wykonywalne pliki są ustawione jako tylko doodczytu, co ma ograniczyć ryzyko ich uszkodzenia podczas normalnegoużywania. Tak samo dane użytkownika są chronione poprzezautomatyczny mechanizm kopii zapasowych, włączany podczasaktualizowania lub zastępowania wersji pakietu starszą.
  • Izolacja pakietów i ich samodzielność oznacza, że nawet jeślinowa wersja oprogramowania przyniesie niepożądane regresje, łatwobędzie wrócić do starszej wersji, albo nawet zainstalować obiewersje obok siebie. Pakiety trafiają bowiem do katalogu/apps/<pakiet>/current/. Bez problemu możemy mieć wielewersji tego samego pakietu, symboliczny link wskazywać będzie poprostu na tę, z której chcemy korzystać.
  • Można się też spodziewać znacznej redukcji ryzyka przyinstalowaniu pakietów spoza repozytoriów. Po pierwsze, Snappystosuje cyfrowe podpisy pakietów, dzięki czemu możemy miećpewność, że pochodzą one od producenta, a nie zostałyprzerobione przez cyberprzestępców czy jakieś agencje rządowe. Podrugie, Snappy wykorzystuje mechanizm restrykcji AppArmor,pozwalający na granularne ograniczanie uprawnień aplikacji, a nawetlimitowanie im udostępnianych zasobów sprzętowych.

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

Introducing snappy Ubuntu Core

Snappy, przynajmniej w swojej obecnej postaci, wiąże się bowiemz kilkoma problemami. Najpoważniejszy z nich wiąże się zrozwlekł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 wypadkuspecjalizowanych obrazów, np. serwera WWW do wdrożenia w chmurze,nie jest to wielki problem, ale na desktopowym systemie z tysiącamizainstalowanych pakietów sytuacja robi się nieciekawa. DeweloperzyCanonicala informują jednak, że w przyszłości Snappy doczeka sięobsługi deduplikacji – pliki o takiej samej wartości funkcjiskrótu (haszu) będą automatycznie linkowane do jednej wzorcowejkopii. Deduplikacja objąć ma także operacje aktualizacji, a byćmoże nawet zmapowane linkerem biblioteki w plikach wykonywalnych.

Nietrywialnym problemem Snappy jest też kwestia poprawekbezpieczeń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łyjuż bezpieczne – a aplikacji takich mogą być dziesiątki. Wwypadku Snappy mamy tę samą sytuację co na Windows. Użytkownicybędą musieli czekać, aż opiekunowie pakietów przeglądarek,komunikatorów, klientów poczty i innych potrzebującychkryptografii narzędzi przygotują ich nowe zaktualizowane wersje, anastępnie wszystko oddzielnie aktualizować. Jak na razie Canonicalnie odniósł się do tego problemu.

Zainteresowanych Snappy zapraszamy do pobawienia się w maszyniewirtualnej albo z UbuntuCore, albo z UbuntuDesktop Next.

Programy

Zobacz więcej
Wybrane dla Ciebie
Komentarze (56)