Canonical hat die Veröffentlichung von Ubuntu Core 22 bekannt gegeben, einer kompakten Version der Ubuntu-Distribution, die für den Einsatz auf Geräten des Internet der Dinge (IoT), in Containern sowie in Verbrauchs- und Industriegeräten optimiert ist. Ubuntu Core wird als unteilbares, monolithisches Basis-System-Image bereitgestellt, das keine Aufteilung in separate deb-Pakete verwendet. Die Images von Ubuntu Core 22, deren Inhalte mit dem Paketbestand von Ubuntu 22.04 synchronisiert sind, sind für die Systeme x86_64, ARMv7 und ARMv8 vorbereitet. Die Unterstützung für die Veröffentlichung beträgt 10 Jahre.
Ubuntu Core dient als Grundlage für das Ausführen zusätzlicher Komponenten und Anwendungen, die als eigenständige Erweiterungen im snap-Format bereitgestellt werden. Die Komponenten von Ubuntu Core, einschließlich des Basis-Systems, des Linux-Kernels und der Systemerweiterungen, werden ebenfalls im snap-Format geliefert und von der snapd-Toolchain verwaltet. Die Snappy-Technologie ermöglicht es, ein System-Image als Einheit zu erstellen, ohne es in separate Pakete zu zerlegen.
Anstelle eines schrittweisen Updates auf Basis einzelner deb-Pakete verwendet Ubuntu Core einen atomaren Aktualisierungsmechanismus für Snap-Pakete und das Basissystem, ähnlich wie Atomic, ChromeOS, Endless, CoreOS und Fedora Silverblue. Bei der Aktualisierung der Basisumgebung und der Snap-Pakete besteht die Möglichkeit, den Zustand auf die vorherige Version zurückzusetzen, falls nach dem Update Probleme auftreten. Derzeit gibt es im SnapCraft-Katalog mehr als 4.500 Snap-Pakete.
Zur Gewährleistung der Sicherheit wird jede Komponente des Systems anhand digitaler Signaturen verifiziert, was den Schutz der Distribution vor versteckten Modifikationen oder der Installation nicht überprüfter Snap-Pakete ermöglicht. Die gelieferten Komponenten im Span-Format werden mithilfe von AppArmor und Seccomp isoliert, was eine zusätzliche Sicherheitsstufe für das System im Falle der Kompromittierung einzelner Anwendungen schafft. Das Basissystem beinhaltet nur eine minimale Menge an notwendigen Anwendungen, was nicht nur die Größe der Systemumgebung reduziert, sondern auch die Sicherheit durch Verringerung potenzieller Angriffsvektoren verbessert.
Das Basis-Dateisystem wird im Nur-Lese-Modus eingebunden. Es besteht die Möglichkeit der Verwendung von Datentrifzierung auf dem Speicher unter Einsatz von TPM. Updates werden regelmäßig veröffentlicht, über OTA (over-the-air) bereitgestellt und mit der Ubuntu 22.04-Version synchronisiert. Um den Datenverkehr zu minimieren, werden die Updates komprimiert bereitgestellt und enthalten nur die Änderungen im Vergleich zum vorherigen Update (Delta-Updates). Die Automatisierung der Installation von Updates löst Sicherheitsprobleme bei der Verwendung auf eingebetteten Geräten.
Durch die logische Trennung des Basissystems von Anwendungen kümmern sich die Entwickler von Ubuntu um die Aktualität des Ubuntu Core Codes, während die Aktualität zusätzlicher Anwendungen von den Anwendungsentwicklern betreut wird. Dieser Ansatz reduziert die Wartungskosten für Produkte, deren Softwareumgebungen auf Ubuntu Core basieren, da die Hersteller sich nicht um die Veröffentlichung und Bereitstellung systemischer Updates kümmern müssen und sich lediglich auf ihre spezifischen Komponenten konzentrieren können.
Hauptneuheiten:
- Das vorgeschlagene Konzept für validierte Paketsets (Validation Sets) ermöglicht die Definition von Snap-Paketen und ihren Versionen, die nur zusammen installiert und aktualisiert werden können. Validierte Sets können verwendet werden, um Einschränkungen durchzusetzen, die nur die Installation bestimmter Snap-Pakete zulassen, eigene, zusätzlich getestete und verifizierte Pakete zu verteilen oder die Verwaltung von Abhängigkeiten zu vereinfachen.
- Werkzeuge wurden hinzugefügt, um die Umgebung von Ubuntu Core 20 auf Version 22 zu aktualisieren, ohne eine Neuinstallation vorzunehmen.
- Die Möglichkeit zum Zurücksetzen der Konfiguration auf die Werkseinstellungen (Factory Reset) wurde implementiert.
- Es wird Unterstützung für Gruppenquoten bereitgestellt, um Ressourcen wie CPU und Speicher bestimmten Snap-Diensten zuzuweisen.
- Unterstützung für das MicroK8s-Toolkit wurde hinzugefügt, das eine vereinfachte Version der Kubernetes-Container-Orchestrierungsplattform bietet.
- Ein Paket mit einem Linux-Kernel wurde vorgeschlagen, das die PREEMPT_RT-Patches enthält und für Echtzeitsysteme ausgelegt ist.
- Unterstützung für das MAAS (Metal-as-a-Service)-Toolset wurde hinzugefügt, um Konfigurationen schnell auf mehreren Systemen bereitzustellen.
- Unterstützung für cloud-init wurde hinzugefügt, um das System während des Bootvorgangs zu konfigurieren.
Quelle: opennet.ru
