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

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

Strona główna AktualnościOPROGRAMOWANIE

Od jakiegoś już czasu Canonical rozwija nową odmianę Ubuntu – Core. Jest to minimalistyczna odmiana systemu, pozwalająca na łatwe tworzenie własnych obrazów pod konkretne potrzeby. W grudniu otrzymała ona mechanizm obsługi paczek Snappy, zawierających izolowane aplikacje wolne od zewnętrznych zależności. Początkowo zakładano, że głównym zastosowaniem tego mechanizmu mają być serwery w chmurach i być może smartfony, teraz jednak widać, że Canonical ma znacznie ambitniejsze plany. Wokół Snappy Core jest wiele nieporozumień, więc postanowiliśmy się bliżej przyjrzeć temu ciekawemu projektowi.

Do tej pory Ubuntu Core było rozwijane jako relatywnie minimalne środowisko zamknięte w systemie plików rootfs, do uruchamiania na płytkach deweloperskich czy w linuksowych kontenerach, bez względu na architekturę – wspierane są 32- i 64-bitowe wersje x86, arm i powerpc. Czemu relatywnie? Nie ma tu za to domyślnie żadnych użytkowników czy demonów logowania, wspierane są jedynie systemy plików ext*. Nie ma interpretera 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żna instalować dodatkowe pakiety za pomocą narzędzia apt-get.

Snappy jednak uczynił apt-get niepotrzebnym – wpisanie apt-get update kończy się komunikatem Ubuntu Core does not use apt-get, see 'snappy –help'. Nowy mechanizm znacząco zmienia sposoby instalacji i aktualizacji oprogramowania, nie tylko je przyspieszając, ale też czyniąc bardziej bezpiecznymi. Wykorzystanie mechanizmu transakcyjnego pozwala uchronić system przed konsekwencjami nieudanych operacji – w razie błędu można łatwo wrócić do stanu początkowego.

r   e   k   l   a   m   a

Dzięki Snappy wreszcie rozwiązano problem z linuksowymi aplikacjami, rozsianymi po całym drzewie katalogów. Pakiety, będące po prostu archiwami tar, trafiają teraz do katalogu /apps/<pakiet>/current/. Bez problemu możemy mieć wiele wersji tego samego pakietu, current będzie po prostu wskazywał na obecnie aktywny. 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ącymi pakiet.

Każdy zainstalowany w ten sposób komponent systemu przechowywany jest w oddzielnym pliku tylko do odczytu, podobnie jak i aplikacje, całkowicie od siebie odizolowane. Dzięki temu nie ma możliwości, by aktualizacja systemu zawiodła z powodu jakichś problematycznych interakcji 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.

Jeszcze oszczędniejsza wersja Ubuntu Core ma teraz naprawdę skromne wymagania, przy których nawet Windows for Internet of Things wydaje się zasobożernym monstrum. Wystarczy mu jednordzeniowy procesor taktowany zegarem 600 MHz, 128 MB 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 przez konstruktorów Internetu Rzeczy, wszędzie tam, gdzie niezawodność i odporność na awarie jest podstawowym wymogiem – i gdzie nikt nie 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 i bibliotek, 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órej linuksowy świat, by rozwiązać jeden problem, przedstawia kilka odpowiedzi. Canonical nie był tu pierwszy – Snappy przypomina to, co Red Hat zrobił w ramach swojej inicjatywy Project Atomic w ostatnich wersjach Fedory dla chmury. Podobny, ale nie identycznych mechanizm transakcyjnych instalacji i aktualizacji wykorzystywany jest w słynnym Core OS, czyli serwerowej odmianie Google Chrome OS-a.

W teorii rozwiązania Internetu Rzeczy powinny zapewniać przede wszystkim standaryzację, tak byśmy nie doczekali się upiornego vendor lock-in, czyli uzależnienia od producenta, wskutek którego po zakupie telewizora 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 Philipsa będą niekompatybilne. Na taką standaryzację trudno jednak liczyć, bo nie tylko producentów jest wielu, ale i dostawców oprogramowania systemowego będzie nie mniej. Znając problemy Canonicala z przebiciem się na rynku konsumenckim (by przypomnieć cuda takie jak Ubuntu 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 samego Ubuntu, pozwalając Canonicalowi na zbudowanie w przyszłości systemu operacyjnego wolnego od wielu bolączek desktopowego Linuksa, porzucającego swoje debianowe korzenie na rzecz rozwiązań znacznie nowocześniejszych – i możliwe że dla użytkowników wygodniejszych.

© 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.