Firma Canonical zaprezentowała wydanie Ubuntu Core 26, kompaktowej wersji dystrybucji Ubuntu, dostosowanej do zastosowań w urządzeniach Internetu Rzeczy (IoT), kontenerach, sprzęcie konsumenckim i przemysłowym. Ubuntu Core dostarczane jest w formie niepodzielnego monolitycznego obrazu podstawowego systemu, w którym nie stosuje się podziału na oddzielne pakiety deb. Obrazy Ubuntu Core 26, których skład jest synchronizowany z bazą pakietów Ubuntu 26.04, przygotowane są dla systemów x86_64 i ARM64. Czas wsparcia wydania wynosi 15 lat.
Ubuntu Core stanowi podstawę do uruchamiania dodatkowych komponentów i aplikacji, które są przedstawiane jako samodzielne rozszerzenia w formacie snap. Komponenty Ubuntu Core, w tym podstawowy system, jądro Linux oraz systemowe rozszerzenia, również dostarczane są w formacie snap i zarządzane narzędziem snapd. Technologia Snappy pozwala na utworzenie obrazu systemu jako całości, bez podziału na oddzielne pakiety. Zamiast stopniowej aktualizacji na poziomie oddzielnych pakietów deb, w Ubuntu Core stosowany jest mechanizm atomowej aktualizacji pakietów snap i podstawowego systemu, analogiczny do Fedora Atomic, ChromeOS, Endless i openSUSE Leap Micro. Przy aktualizacji podstawowego środowiska i pakietów snap istnieje możliwość przywrócenia stanu do wcześniejszej wersji w przypadku problemów wykrytych po aktualizacji.
W celu zapewnienia bezpieczeństwa każdy komponent systemu jest weryfikowany za pomocą podpisu cyfrowego, co pozwala chronić dystrybucję przed wprowadzaniem ukrytych modyfikacji lub instalacją niezweryfikowanych pakietów snap. Dostarczane w formacie Snap komponenty są izolowane za pomocą AppArmor i Seccomp, co stwarza dodatkową warstwę ochrony systemu w przypadku kompromitacji poszczególnych aplikacji. Podstawowy system zawiera jedynie minimalny zestaw niezbędnych aplikacji, co nie tylko zmniejszyło rozmiar środowiska systemowego, ale także pozytywnie wpłynęło na bezpieczeństwo poprzez ograniczenie możliwych wektorów ataków.
Podstawowy system plików jest montowany w trybie tylko do odczytu. Istnieje możliwość użycia szyfrowania danych na dysku z użyciem TPM. Aktualizacje są regularnie wydawane, dostarczane w trybie OTA (over-the-air) i zsynchronizowane z wersją Ubuntu 26.04. Aby zminimalizować transfer danych, aktualizacje są dostarczane w formie skompresowanej i zawierają jedynie zmiany w stosunku do poprzedniej aktualizacji (aktualizacje delta). Automatyzacja instalacji aktualizacji rozwiązuje problemy z utrzymaniem bezpieczeństwa systemu przy użyciu 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:
- Zastosowano nowy system budowy oparty na narzędziu Chisel, które pozwala na dzielenie i redukcję pakietów Debiana w celu dostarczenia jedynie najbardziej niezbędnych plików. Chisel umożliwia manipulowanie nie całymi pakietami, ale ich fragmentami (slices) – zestawami plików tworzonymi na podstawie zawartości i metadanych pakietu. Każdy fragment może mieć swoją zawartość i własny zestaw zależności związany z innymi fragmentami. Każdy plik w systemie plików Ubuntu Core jest teraz powiązany z fragmentem i pakietem z kodem źródłowym, co poprawia kontrolę integralności i śledzenie podatności. Zastosowanie nowego systemu budowy pozwoliło na zmniejszenie rozmiaru podstawowego obrazu systemu o 7%.
- Skrócono czas instalacji aktualizacji dzięki zastosowaniu formatu snap-delta, który zmniejsza rozmiar pobieranych danych dla większości pakietów snap. Na przykład rozmiar plików z aktualizacją podstawowych pakietów snap zmniejszył się z 16 do 1,5 MB.
- Zapewnione jest spełnienie wymogów europejskiej ustawy CRA (Cyber Resilience Act), która wprowadza odpowiedzialność prawną za nieprzestrzeganie wymogów bezpieczeństwa.
- Dodano wsparcie dla technologii Livepatch, które umożliwia wprowadzenie poprawek do działającego jądra Linux bez potrzeby restartu i przerywania działania aplikacji.
- Zapewniona została integracja z narzędziem COS (Canonical Observability Stack), opartym na silniku orkiestracji Juju oraz platformie Kubernetes. Ubuntu Core może teraz przesyłać logi i metryki do zcentralizowanych systemów monitorowania opartych na Grafanie, Lokim oraz Prometheusie.
- Dodano wsparcie dla komponentów, które umożliwiają programistom pakietów snap dystrybucję dodatkowych dużych lub opcjonalnych zasobów, takich jak dane debugowania, pliki z tłumaczeniami oraz opcjonalne sterowniki, oddzielnie od głównego pakietu snap w celu zmniejszenia rozmiaru podstawowej instalacji. Komponent jest tworzony jako obraz w formacie squashfs, montowany w środowisku pakietu snap.
- Interfejs REST API Snapd zapewnia zgodność ze specyfikacją OpenAPI.
- W wyświetlaczu serwer Ubuntu Frame, umożliwiający tworzenie wbudowanych środowisk graficznych (kiosków internetowych, terminali samoobsługowych, tablic informacyjnych, cyfrowych wyświetlaczy), dodał możliwość wyświetlania interfejsu wielu aplikacji na jednym ekranie. Dodano możliwość wykorzystania akceleracji GPU w aplikacjach.
- Dodano systemowe ustawienie interface.allow-auto-connection do definiowania reguł automatycznego łączenia interfejsów.
- Dodano wsparcie dla mechanizmu Confdb do centralnego definiowania ustawień, które nie są przypisane do konkretnych pakietów snap i urządzeń.
- Z podstawowego zestawu pakietów snap wykluczono interpreter Pythona, który teraz powinien być instalowany jako oddzielna wtyczka.
Źródło: opennet.ru
