Ubuntu 16.04 pod maską. ZFS, kontenery, snapy – to nowa jakość w Linuksie!

Ubuntu 16.04 pod maską. ZFS, kontenery, snapy – to nowa jakość w Linuksie!23.04.2016 16:06

Premiera Ubuntu 16.04 Xenial Xerus pewnie zdziwiławiele osób, które nie śledzą uważnie rozwoju tejnajpopularniejszej chyba linuksowej dystrybucji. Jak na kolejnykamień milowy, świeże wydanie o wydłużonym okresie wsparcia, toniewiele jest tu atrakcji. Na pierwszy rzut oka nie widać wielkiejróżnicy między nową wersją systemu, a stareńkim Ubuntu 12.04LTS. Na nowy serwer grafiki Mir i środowisko Unity 8 czekamy,czekamy i doczekać się nie możemy. Tylko jakie to właściwie maznaczenie? Tam, gdzie to jest naprawdę ważne, tam gdzie leżąpieniądze, Ubuntu 16.04 jest wydaniem naprawdę rewolucyjnym.Zapraszamy pod maskę gościnnej afrowiórki (czy też jak niektórzyjuż mówią, xenofobicznego xiędza).

Kernel 4.4 – będzie szybciej

Jądro Linuksa w wersji 4.4 zadebiutowałow styczniu tego roku, od razu z założeniem że otrzyma wydłużonyokres wsparcia (do dwóch lat). Dobrze się więc wpisuje w systemoperacyjny, który wsparciem się cieszyć przez pięć lat, dokwietnia 2021 roku. W porównaniu do Ubuntu 14.04 (które dziękiaktualizacji z lutego ma już wreszcie w miarę nowoczesne jądro4.2) to przede wszystkim ulepszenia sterowników sprzętowych.

Oprócz tego zwrócić uwagę trzeba przede wszystkim na włączeniesprzętowej akceleracji grafiki 3D dla maszyn wirtualnychuruchamianych przez KVM/QEMU, na tyle wydajne, by można było bezproblemu uruchamiać tak wymagające sprzętowej akceleracji pulpity.Wprowadzono też znaczącą zmianę w działaniu planisty(schedulera) jądra, która przyniosła spory wzrost wydajnościaplikacji wielowątkowych. Widać to np. w rendererach. Napisany wJavie benchmark sunflow na czterordzeniowej maszynie pokazałrekordowy wzrost wydajności o aż 17%, w wypadku archiwizerów (xz i7z) spodziewać się można wyników lepszych o 5-10%, zaś bazdanych 3-7 %.

Sunflow w maszynach wirtualnych z Ubuntu 14.04 LTS i 16.04 LTS
Sunflow w maszynach wirtualnych z Ubuntu 14.04 LTS i 16.04 LTS

Reasumując, dostajemy wysoce stabilne systemowe „jajko”,które poradzi sobie nawet z najnowszym sprzętem, włącznie zgrafiką Intela gen9 i nowymi układami AMD czy Nvidii, i które wwielu realnych zastosowaniach pozwoli znacznie więcej wycisnąć zprocesora głównego. W zasadzie jedynym powodem do niezadowoleniamoże być brak tak długo oczekiwanego nowego systemu komunikacjimiędzyprocesowej KDBUS – ale powiedzmy sobie szczerze, to przecieżnie jest wina Canonicala.

ZFS, czyli jak zdenerwować Richarda Stallmana

Na nic się zdały krzyki licencyjnychpurystów, nie mogących pogodzić się z tym, że bądź co bądźsystem operacyjny z rodziny GNU/Linux będzie zawierał komponentyniby opensource'owe, ale jednak na licencji niezgodnej z GPL.Dostajemy więc po raz pierwszy oficjalnie na Linuksie słynny systemplików ZFS, stworzony z myślą o systemie Solaris – i co tu dużomówić, zachowujący się dość osobliwie.

Zwykłemu użytkownikowi w teorii niewiele po ZFS-ie w Ubuntu16.04 LTS. Nie można go wykorzystać do zainstalowania systemu, niemożna nawet w instalatorze utworzyć nawet partycji domowej (/home).Co więc można? To przede wszystkim rozwiązanie dla serwerówplików. ZFS po prostu lepiej niż cokolwiek innego dba ointegralność danych, jest niemal całkowicie odporne na zepsuciedanych wywoływane zarówno przez błędy software'owe jak isprzętowe. Ten system plików oferuje też ogromną elastyczność,pozwalając na łączenie w jednolite pule rozmaitych typów pamięcimasowych i sam zadba o ich rozlokowanie.

Dostarczona przez Canonicala implementacja ZFS-in-Linux nieoferuje tak szerokiej palety funkcji jak ZFS na Solarisie, aledostajemy wbudowany menedżer wolumenów logicznych, ciągłąkontrolę spójności, automatyczne naprawy plików, migawki,kompresję danych i klonowanie danych typu copy-on-write. Niestetyintegracja ze zwykłymi narzędziami jest żadna. Należy więc zainstalować z oficjalnego repozytorium pakiet narzędzi ZFS (sudo apt-get install zfsutils-linux),odpowiedni moduł jądra już tu jest i zostanie załadowany w raziepotrzeby. W pakiecie – komplet znanych z Solarisa narzędziadministracyjnych. Jeśli chcecie się pobawić, to odsyłamy napoczątek do wikiUbuntu, gdzie dobrze wyjaśniono podstawy.

Dwie pule ZFS w systemie, jedną zrobił sobie sam menedżer kontenerów LXD
Dwie pule ZFS w systemie, jedną zrobił sobie sam menedżer kontenerów LXD

Decyzja firmy Marka Shuttlewortha o wzięciu się za ZFS jest otyle zaskakująca co i wspaniała. Zamiast pchać się we wciążsprawiający kłopoty Btrfs (system plików, który w założeniachzapewnia praktycznie to samo, co ZFS), Canonical zdecydował sięsięgnąć po prawdopodobnie najlepsze rozwiązanie w branży, mimotych strasznych problemówz licencjonowaniem. Dziś może tylko umocnić pozycję Ubuntu naserwerowym rynku, czyniąc z tego systemu coś więcej, niż tylko„Linuksa dla tych, co nie potrafią zainstalować Debiana”.Przypomnijmy, że jak do tej pory dla tych, którzy chcieli ZFS, anie chcieli mieć nic do czynienia z Oracle, w praktyce pozostawałotylko FreeBSD.

Kontenery po swojemu: LXD

Nowemu systemowi plików towarzyszy lekki system konteneryzacji,zbudowany na bazie znanego już od lat LXC – podobnie jak modnyostatnio Docker. Docker jest jednak czymś innym, bardziej menedżeremkontenerów aplikacji, podczas gdy LXD (LinuX container Daemon) jestmenedżerem kontenerów systemowych.

Nie martwcie się o brak oprogramowania, na LXD uruchomiciewszystkie kontenery Dockera. Uruchamiają się one jednak na Ubuntuniesamowicie szybko. To zasługa zintegrowania LXD ze wspomnianymZFS-em. Inicjując w systemie ten swoisty „hiperwizorkonteneryzacji”, dostajemy do wyboru typ wykorzystywanego zapleczapamięci masowej – albo zwykłe katalogi, albo właśnie ZFS.

Konfiguracja demona LXD: jesteśmy prowadzeni za rączkę
Konfiguracja demona LXD: jesteśmy prowadzeni za rączkę

Oczywiście wypada wybrać ZFS, wówczas dostaniemymożliwość albo wykorzystania istniejącego urządzenia blokowego,albo założenia własnego, ustalenia rozmiarów i dostępnościprzez sieć. Wówczas te wszystkie atrakcje, włącznie z kompresją,błyskawicznym kopiowaniem, migawkami, stają się dostępne dlakontenerów.

Każdy kontener oddzielną maszyną, z własnym dostępem do sieci
Każdy kontener oddzielną maszyną, z własnym dostępem do sieci

Same kontenery można traktować po prostu jak maszyny wirtualne,tyle że bez narzutu. Mogą dostać swoje dyski, swoje interfejsysieciowe, można je przenosić na żywo z serwera na serwer.Bezpieczeństwo jest bardzo wysokie, za sprawą filtrów, piaskownici izolowanych przestrzeni nazw. Zarządzanie? Prosty interfejs REST,przez co łatwo będzie oprogramować sterowanie, budować paneleadministracyjne itp. Co w tym wszystkim zaś najciekawsze, tomożliwość swobodnego wykorzystania LXD na innych niż x86architekturach procesorowych – jak ktoś chce, może nawet naRaspberry Pi swoje kontenery uruchamiać. Zainteresowanychprzetestowaniem zapraszamy na oficjalną stronęprojektu.

Snap – aplikacje bez oglądania się na resztęsystemu

Nieprzypadkowo o tym, co mogło najbardziej podekscytowaćzwykłego użytkownika Ubuntu piszemy na samym końcu. Chodzi o tesłynne nowe pakiety snap, które pozwolą instalować w systemiedowolne oprogramowanie nie martwiąc się o konsekwencje, adeweloperom umożliwią równie szybkie dostarczanie swoich aplikacjina Ubuntu co np. na Windowsa.

Więcej na temat architektury nowych pakietów pisaliśmyrok temu, przy okazji ich debiutu w przeznaczonym dla InternetuRzeczy systemie Ubuntu Core. Przypomnimy tylko, że to w praktycesystem lekkich kontenerów, które można aktualizować niezależnieod reszty systemu. Instalacja i aktualizacja jest znacznie szybsza,gdyż sprowadza się do wstawienia kontenera lub jego przebudowy zdostarczonego pliku różnicowego.

Teraz możemy przekonać się, jak to działa w praktyce nadesktopowym Ubuntu. Domyślnie narzędzi zarządzających brak. Wgłównym katalogu / znajdziemy jedynie katalog /snap – i towszystko. By wypróbować nowe pakiety, należy wpierw zainstalowaćz normalnych repozytoriów pakiet snapd (sudo apt-get install snapd).Zarządzanie tymi paczkami-kontenerami odbywa się za pomocąpolecenia snap.

Gdy zaczniecie bawić się snapem i przeczytacie jego obskurnąraczej dokumentację (man snap), szybko zorientujecie się, cowłaśnie faktycznie Canonical zrobił. Nowy system pakietów jestjedynie połowicznie otwarty. Instalacja odbywa się z oficjalnego„sklepu”. Można też ręcznie zainstalować plik z rozszerzeniem.snap. To już jednak nie są repozytoria PPA, które mógł sobiepostawić każdy, poza kontrolą firmy Shuttlewortha. Należytaścieżka dla dewelopera wiąże się z zainstalowaniem pakietusnapcraft, z narzędziami do tworzenia snapów – i przesyłania ichdo oficjalnego sklepu. Należyta ścieżka dla użytkownika, toinstalacja, aktualizacja i deinstalacja snapów przez graficznyinterfejs aplikacji Ubuntu Software.

O ile deweloperzy mogą już jednak pracować ze snapcraftem (i tunależy przyznać, że jest to dopracowane narzędzie), UbuntuSoftware póki co snapów nie zainstaluje. Pozostaje konsola –poleceniem snap list możemy odpytać serwer o dostępne paczki. Jestich póki co zaledwie garstka, w większości przykłady i prosteaplikacje dla mobilnego Ubuntu Touch (np. kalkulator czy zegar).Spróbujmy zainstalować więc kalkulator, poleceniem sudo snapinstall ubuntu-calculator-app. Robi się nieco dziwnie.

Instalujemy kalkulator (i przy okazji mnóstwo innych dziwnych rzeczy)
Instalujemy kalkulator (i przy okazji mnóstwo innych dziwnych rzeczy)

Na początku z Sieci pobierana jest paczka ubuntu-core (ok. 60MB), najwyraźniej niezbędny zasób dla wszystkich snapów, a potempaczka z kalkulatorem. Rozmiar jest szokujący – 120 MB. Kalkulatorwiększy od przeglądarki? Zainstalujmy więc jeszcze zegarek.Kolejne 120 MB. Cóż tam w środku jest? Odwiedzając katalog /snap,znajdziemy tam podkatalog /bin z linkami do plików wykonywalnych,podkatalog ubuntu-core, oraz podkatalogi poszczególnych aplikacji. Wtychże – wszystko, co potrzebne do ich uruchomienia. Dosłownienic poza linuksowym jądrem nie jest brane z samego systemu,znajdziemy tam demony, biblioteki i sterowniki, a obecnośćniektórych jest kompletnie niezrozumiała. Co bowiem w aplikacjikalkulatora robi mający 19 KB plik/5/usr/lib/x86_64-linux-gnu/bluetooth/plugins/sixaxis.so (sterownikgamepada do PlayStation)?

Snapowy Kalkulator uruchomiony z konsoli. Lepszy jest niż ten z GNOME
Snapowy Kalkulator uruchomiony z konsoli. Lepszy jest niż ten z GNOME

Zainstalowane przez snapa aplikacje nie ujawniają się winterfejsie Unity (nie dało się ich znaleźć przez Dasha), ale sąbez problemu uruchamiane z konsoli. I tak nasz 120-megabajtowykalkulator uruchomimy poleceniem ubuntu-calculator-app.calculator.Garść ostrzeżeń i komunikatów o błędach nie przeszkadza wuruchomieniu pokazu slajdów, wyjaśniającego jak z kalkulatorakorzystać.

A tak wygląda zegarek
A tak wygląda zegarek

Widać, że Canonical przy tych snapach intensywnie pracuje, przezchwilę na liście był np. dostępny serwer grafiki Mir, ale zjakiegoś powodu zniknął. Możemy za to zainstalować jakieśwebserwery, klienta Tora, przeglądarkę links, czy proste konsolowegierki. Wciąż bardziej ciekawostka niż coś poważnego – ipewnie się to nie zmieni, przynajmniej do czasu pojawienia siępierwszych poważniejszych aplikacji w formacie snap. Wiadomo już,że zainteresowana jest nim Mozilla, która chce w ten sposób naUbuntu 16.04 LTS dostarczaćnajświeższe wersje Firefoksa, bez konieczności czekania na to, ażopiekunowie dystrybucji włączą je do oficjalnych repozytoriów.

Jaki ładny snap-miś. Szkoda, że złośliwy i kradnie hasła (bez obaw, haslo123 to tylko przykład)
Jaki ładny snap-miś. Szkoda, że złośliwy i kradnie hasła (bez obaw, haslo123 to tylko przykład)

Póki co wiadomo już jednak, że Ubuntu 16.04 nie jest gotowe nasnapa, przynajmniej nie na desktopie. Bez wprowadzenia serweragrafiki Mir, mówienie o bezpieczeństwie jest bzdurą. Znanylinuksowy programista Matthew Garrett pokazał,jak łatwo jest aplikacjom snapa wykraść dowolne informacje z innejdziałającej aplikacji (np. przeglądarki). To nie jest problemsnapa, lecz raczej tego, że serwer X11 nie ma żadnego mechanizmuzarządzania zaufaniem wobec aplikacji, i uruchomione w jegokontekście snapy mogą praktycznie wszystko. Biorąc pod uwagę to,że Canonical raczej nie będzie miał zasobów, by analizowaćwiersz po wierszu przesyłane do sklepu aplikacje, instalującychsnapy użytkowników nowego Ubuntu może spotkać niemiłaniespodzianka.

Poza zwykłego Linuksa

Ubuntu 16.04 LTS jest wydaniem bardzo ambitnym, kładącymfundamenty pod przyszłość systemu Canonicala, który nie będziepo prostu kolejną dystrybucją GNU/Linuksa. Choć przedstawione tunowości mają pewnie dla większości użytkowników drugorzędneznaczenie, to nic nie szkodzi. Można się spodziewać, żekonwergencja tych zaprezentowanych nowych technologii zaowocuje czymśniespotykanym. Co z tego np., że paczki snapa są takie duże? 95%zawartości ubuntu-calculator-app i ubuntu-clock-app jest taka sama.Aż się prosi, by wykorzystać kompresję na poziomie systemuplików. Być może niebawem zawartość katalogu /snap będzie poprostu pulą ZFS, z automatyczną deduplikacją, kompresją irobieniem migawek, pozwalających na łatwe przechowywanie różnychwersji tej samej aplikacji w systemie.

O ile przez kilka lat wydawało się, żeCanonical biega za własnym ogonem, nie mogąc znaleźć sobiemiejsca, to dzisiaj firma Marka Shuttlewortha staje się nie tylemoże liderem linuksowego świata, co utalentowanymoutsiderem-pionierem. I gdy Microsoft oficjalnie wyda swój SQLServer na Linuksa, to możecie być pewni, że zanim pojawią siępaczki RPM dla Red Hata, najpierw zobaczymy snapy z tą bazą dlaUbuntu.

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.