Firma Canonical opublikowała wydanie Ubuntu Core 22, kompaktowej wersji dystrybucji Ubuntu, dostosowanej do użycia w urządzeniach internetu rzeczy (IoT), w kontenerach oraz w sprzęcie konsumenckim i przemysłowym. Ubuntu Core dostarczane jest jako niedzielony, monolityczny obraz podstawowego systemu, w którym nie stosuje się podziału na oddzielne pakiety deb. Obrazy Ubuntu Core 22, którego skład jest zsynchronizowany z bazą pakietów Ubuntu 22.04, są przygotowane dla systemów x86_64, ARMv7 oraz ARMv8. Czas wsparcia wydania wynosi 10 lat.
Ubuntu Core stanowi podstawę do uruchamiania dodatkowych komponentów i aplikacji, które przyjmują formę samodzielnych rozszerzeń w formacie snap. Komponenty Ubuntu Core, w tym podstawowy system, jądro Linux i systemowe rozszerzenia, są również dostarczane w formacie snap i zarządzane przez narzędzie snapd. Technologia Snappy umożliwia stworzenie obrazu systemu jako całości, bez podziału na oddzielne pakiety.
Zamiast stopniowej aktualizacji na poziomie poszczególnych pakietów deb w Ubuntu Core zastosowano mechanizm atomowej aktualizacji pakietów snap i podstawowego systemu, analogiczny do Atomic, ChromeOS, Endless, CoreOS i Fedora Silverblue. Podczas aktualizacji podstawowego środowiska i pakietów snap istnieje możliwość przywrócenia stanu do poprzedniej wersji w przypadku problemów stwierdzonych po aktualizacji. Obecnie w katalogu SnapCraft znajduje się ponad 4,5 tysiąca pakietów snap.
Aby zapewnić bezpieczeństwo, każdy komponent systemu jest weryfikowany pod kątem podpisu cyfrowego, co pozwala chronić dystrybucję przed wprowadzeniem ukrytych modyfikacji lub instalacją niezweryfikowanych pakietów snap. Dostarczane w formacie Snap komponenty są izolowane za pomocą AppArmor i Seccomp, co tworzy dodatkową barierę ochrony systemu w przypadku kompromitacji pojedynczych aplikacji. Podstawowy system zawiera tylko minimalny zestaw niezbędnych aplikacji, co nie tylko pozwoliło zmniejszyć rozmiar środowiska systemowego, ale także pozytywnie wpłynęło na bezpieczeństwo, zmniejszając potencjalne wektory ataków.
Podstawowy system plików jest montowany w trybie tylko do odczytu. Istnieje możliwość użycia szyfrowania danych na nośniku z wykorzystaniem TPM. Aktualizacje są regularnie wydawane, dostarczane w trybie OTA (over-the-air) i synchronizowane z wersją Ubuntu 22.04. W celu minimalizacji ruchu aktualizacje są dostarczane w formie skompresowanej i zawierają tylko zmiany w stosunku do poprzedniej aktualizacji (aktualizacje delta). Automatyzacja instalacji aktualizacji rozwiązuje problemy z utrzymaniem bezpieczeństwa systemu w przypadku użycia na urządzeniach wbudowanych.
Dzięki logicznemu oddzieleniu podstawowego systemu od aplikacji, deweloperzy Ubuntu zajmują się utrzymywaniem bazy kodu Ubuntu Core na aktualnym poziomie, a deweloperzy aplikacji dbają o aktualność dodatkowych aplikacji. Takie podejście pozwala obniżyć koszty utrzymania produktów, których środowisko programistyczne oparte jest na Ubuntu Core, ponieważ ich producenci nie muszą zajmować się wydawaniem i dostarczaniem aktualizacji systemowych, a wystarczy, że skoncentrują się na swoich specyficznych komponentach.
Główne nowości:
- Zaproponowano koncepcję zweryfikowanych zestawów pakietów (Validation sets), umożliwiającą określenie zestawu pakietów snap i ich wersji, które mogą być zainstalowane i aktualizowane tylko razem. Zweryfikowane zestawy mogą być stosowane do realizacji ograniczeń, które dopuszczają instalację tylko zadanych pakietów snap, do dystrybucji własnych dodatkowo przetestowanych i zweryfikowanych pakietów lub do uproszczenia zarządzania zależnościami.
- Dodano narzędzia do aktualizacji środowiska Ubuntu Core 20 do wersji 22 bez potrzeby reinstalacji.
- Wprowadzono możliwość resetowania konfiguracji do stanu fabrycznego (factory reset).
- Zaoferowano wsparcie dla grup kwot do ograniczenia zasobów CPU i pamięci związanych z określonymi grupami usług snap.
- Dodano wsparcie dla narzędzia MicroK8s, oferującego uproszczoną wersję platformy orkiestracji kontenerów Kubernetes.
- Zaproponowano wariant pakietu z jądrem Linux, zawierającym poprawki PREEMPT_RT i skierowanym do systemów działających w czasie rzeczywistym.
- Dodano wsparcie dla narzędzia MAAS (Metal-as-a-Service) do szybkiego wdrażania konfiguracji na wielu systemach.
- Dodano wsparcie dla cloud-init w celu konfiguracji systemu podczas rozruchu.
Źródło: opennet.ru
