Snappy Core: Canonical mówi o Internecie Rzeczy, ale to raczej przełom dla Ubuntu

Od jakiegoś już czasu Canonical rozwija nową odmianę Ubuntu –Core. Jest to minimalistyczna odmiana systemu, pozwalająca na łatwetworzenie własnych obrazów pod konkretne potrzeby. W grudniuotrzymała ona mechanizm obsługi paczek Snappy, zawierającychizolowane aplikacje wolne od zewnętrznych zależności. Początkowozakładano, że głównym zastosowaniem tego mechanizmu mają być serweryw chmurach i być może smartfony, teraz jednak widać, że Canonical maznacznie ambitniejsze plany. Wokół Snappy Core jest wielenieporozumień, więc postanowiliśmy się bliżej przyjrzeć temuciekawemu projektowi.

Snappy Core: Canonical mówi o Internecie Rzeczy, ale to raczej przełom dla Ubuntu

21.01.2015 | aktual.: 22.01.2015 11:28

Do tej pory Ubuntu Corebyło rozwijane jako relatywnie minimalne środowisko zamknięte wsystemie plików rootfs, do uruchamiania na płytkach deweloperskichczy w linuksowych kontenerach, bez względu na architekturę –wspierane są 32- i 64-bitowe wersje x86, arm i powerpc. Czemurelatywnie? Nie ma tu za to domyślnie żadnych użytkowników czydemonów logowania, wspierane są jedynie systemy plików ext*. Nie mainterpretera Pythona, jest jedynie bardzo ograniczony podzbiórśrodowiska tego języka. Można byłoby system okroić jeszcze bardziej,ale Core ma być najmniejszym możliwym, w którym wciąż możnainstalować dodatkowe pakiety za pomocą narzędzia apt-get.

Obraz

Snappy jednakuczynił apt-get niepotrzebnym – wpisanie apt-get update kończysię komunikatem Ubuntu Core does not use apt-get, see 'snappy–help'. Nowy mechanizmznacząco zmienia sposoby instalacji i aktualizacjioprogramowania, nie tylko je przyspieszając, ale też czyniąc bardziejbezpiecznymi. Wykorzystanie mechanizmu transakcyjnego pozwalauchronić system przed konsekwencjami nieudanych operacji – wrazie błędu można łatwo wrócić do stanu początkowego.

Dzięki Snappy wreszcie rozwiązano problem z linuksowymiaplikacjami, rozsianymi po całym drzewie katalogów. Pakiety, będącepo prostu archiwami tar, trafiają teraz do katalogu/apps/<pakiet>/current/. Bez problemu możemy mieć wiele wersjitego samego pakietu, current będzie po prostu wskazywał na obecnieaktywny. Poza tym nie ma jakiejś specjalnie narzuconej struktury,można swobodnie sobie pliki linkować, czy używać własnych bibliotek –jedynym wymogiem jest obecność pliku z metadanymi, opisującymipakiet.

Każdy zainstalowany w ten sposób komponent systemu przechowywanyjest w oddzielnym pliku tylko do odczytu, podobnie jak i aplikacje,całkowicie od siebie odizolowane. Dzięki temu nie ma możliwości, byaktualizacja systemu zawiodła z powodu jakichś problematycznychinterakcji między pakietami. Interesującą nowością jest WebDM: menedżer pakietów z interfejsem w przeglądarce. Zastępuje on normalne Ubuntu Software Center, ale jest też narzędziem do konfiguracji jądra, systemu i aplikacji. Sterować nim możemy też przez SSH.

Obraz

Jeszcze oszczędniejsza wersja Ubuntu Core ma teraz naprawdęskromne wymagania, przy których nawet Windowsfor Internet of Things wydaje się zasobożernym monstrum.Wystarczy mu jednordzeniowy procesor taktowany zegarem 600 MHz, 128MB RAM i 4 GB pamięci masowej. Sam system używać ma 40 MB RAM, resztępozostawiając aplikacjom.

Taki zwarty, minimalny OS ma być wykorzystywany przezkonstruktorów Internetu Rzeczy, wszędzie tam, gdzie niezawodność iodporność na awarie jest podstawowym wymogiem – i gdzie niktnie chce inwestować w nowe, specjalistyczne narzędzia deweloperskie. Programować na Snappy Core może bowiem każdy, kto ma jakieśdoświadczenie z Linuksem i Ubuntu, korzystając z takich frameworków ibibliotek, jakie są dla niego wygodne.

Jednym z pierwszych urządzeń ze Snappy Core ma być autonomiczny dron Erle-Copter, zapowiedziano też współpracę z Open Source Robotics Foundation, opiekującą się platformą middleware dla robotów – Robot Operating System. Wśród partnerów znajdziemy też producentów programów do automatyzacji domów czy systemów dla mikrokontrolerów. Jedynie chyba społeczność Raspberry Pi może czuć się wykluczona, przestarzały dziś już procesor Maliny po prostu nie jest wspierany przez system Canonicala, trzeba dysponować architekturą ARMv7 i x86-64.

Po raz kolejny jednak mamy do czynienia z sytuacją, w którejlinuksowy świat, by rozwiązać jeden problem, przedstawia kilkaodpowiedzi. Canonical nie był tu pierwszy – Snappy przypominato, co Red Hat zrobił w ramach swojej inicjatywy Project Atomic wostatnich wersjach Fedory dla chmury. Podobny, ale nie identycznychmechanizm transakcyjnych instalacji i aktualizacji wykorzystywanyjest w słynnym Core OS, czyli serwerowej odmianie Google Chrome OS-a.

W teorii rozwiązania Internetu Rzeczy powinny zapewniać przedewszystkim standaryzację, tak byśmy nie doczekali się upiornego vendorlock-in, czyli uzależnienia od producenta, wskutek którego po zakupietelewizora od LG nie mamy już wyboru, i musimy kupić lodówkę, pralkęi szczoteczkę do zębów od LG – bo te od Samsunga czy Philipsabędą niekompatybilne. Na taką standaryzację trudno jednak liczyć, bonie tylko producentów jest wielu, ale i dostawców oprogramowaniasystemowego będzie nie mniej. Znając problemy Canonicala zprzebiciem się na rynku konsumenckim (by przypomnieć cuda takie jakUbuntu TV), nie ma co liczyć na to, że Snappy Core będzie tu jakąśrewolucją.

Rozwiązanie to może być za to wielkim krokiem naprzód dla samegoUbuntu, pozwalając Canonicalowi na zbudowanie w przyszłości systemuoperacyjnego wolnego od wielu bolączek desktopowego Linuksa,porzucającego swoje debianowe korzenie na rzecz rozwiązań znacznienowocześniejszych – i możliwe że dla użytkownikówwygodniejszych.

Programy

Zobacz więcej
Wybrane dla Ciebie
Komentarze (55)