Das Unternehmen SUSE hat den ersten Prototyp der ALP-Plattform (Adaptable Linux Platform) veröffentlicht, die als Fortsetzung der Entwicklung der SUSE Linux Enterprise-Distribution positioniert wird. Das Hauptunterscheidungsmerkmal des neuen Systems ist die Aufteilung der Basis des Distributionssystems in zwei Teile: ein reduziertes "host OS" zur AusfĂŒhrung auf der Hardware und eine Schicht zur UnterstĂŒtzung von Anwendungen, die auf Containern und virtuellen Maschinen ausgerichtet ist. Die Builds sind fĂŒr die Architektur x86_64 vorbereitet.
Die Idee besteht darin, im "host OS" eine minimalistische Umgebung zu entwickeln, die notwendig ist, um die Hardware zu unterstĂŒtzen und zu verwalten, wĂ€hrend alle Anwendungen und Komponenten des Benutzerraums nicht in einer gemischten Umgebung, sondern in separaten Containern oder in virtuellen Maschinen, die ĂŒber dem âHost OSâ ausgefĂŒhrt werden und voneinander isoliert sind. Eine solche Organisation ermöglicht es den Benutzern, sich auf die Anwendungen zu konzentrieren und die ArbeitsablĂ€ufe zu abstrahieren, indem sie von der niedrigstufigen Systemumgebung und Hardware getrennt werden.
Als Grundlage fĂŒr das âHost OSâ wird das Produkt SLE Micro verwendet, das auf den Ergebnissen des Projekts MicroOS basiert. FĂŒr das zentrale Management werden die Konfigurationsmanagement-Systeme Salt (vorinstalliert) und Ansible (Option) angeboten. FĂŒr den Betrieb isolierter Container stehen die Werkzeuge Podman und K3s (Kubernetes) zur VerfĂŒgung. Zu den in Container ausgegliederten Systemkomponenten gehören yast2, podman, k3s, cockpit, GDM (GNOME Display Manager) und KVM.
Zu den Besonderheiten der Systemumgebung gehört die standardmĂ€Ăige Verwendung von FestplattenschlĂŒsselung (FDE, Full Disk Encryption) mit der Möglichkeit, SchlĂŒssel im TPM zu speichern. Die Root-Partition wird schreibgeschĂŒtzt gemountet und wĂ€hrend des Betriebs nicht verĂ€ndert. In der Umgebung kommt ein Mechanismus fĂŒr atomare Updates zur Anwendung. Im Gegensatz zu den atomaren Updates auf Basis von ostree und snap, die in Fedora und Ubuntu verwendet werden, verwendet ALP anstelle des Aufbaus separater atomarer Images und der Bereitstellung zusĂ€tzlicher Lieferinfrastrukturen den standardmĂ€Ăigen Paketmanager und den Snapshot-Mechanismus im Btrfs-Dateisystem.
Die Hauptkonzepte von ALP:
- Minimierung des Benutzerinterferenze (zero-touch), die eine Automatisierung der grundlegenden Prozesse fĂŒr Wartung, Bereitstellung und Konfiguration impliziert.
- Automatisches Aufrechterhalten der Sicherheit und AktualitĂ€t des Systems (self-updating). Es gibt einen konfigurierbaren Modus fĂŒr die automatische Installation von Updates (zum Beispiel kann die Auto-Installation nur fĂŒr kritische Sicherheitsupdates aktiviert oder auf manuelle BestĂ€tigung der Installation von Updates zurĂŒckgekehrt werden). FĂŒr die Aktualisierung des Linux-Kernels ohne Neustart und Unterbrechung des Betriebs werden Live-Patches unterstĂŒtzt.
- Automatische Anwendung von Optimierungen (self-tuning) und Aufrechterhaltung der SystemverfĂŒgbarkeit (self-healing). Das System speichert den letzten stabilen Zustand und wird nach der Anwendung von Updates oder bei Ănderung der Einstellungen im Falle von Anomalien, Problemen oder abnormalem Verhalten automatisch in den vorherigen Zustand zurĂŒckversetzt, unter Verwendung von Btrfs-Snapshots.
- Mehrversionen-Software-Stack. Die Isolierung von Komponenten in Containern ermöglicht die gleichzeitige Verwendung unterschiedlicher Versionen von Werkzeugen und Anwendungen. So können beispielsweise Anwendungen, die unterschiedliche Versionen von Python, Java und Node.js als AbhĂ€ngigkeiten verwenden, nebeneinander ausgefĂŒhrt werden, wĂ€hrend inkompatible AbhĂ€ngigkeiten getrennt werden. Die grundlegenden AbhĂ€ngigkeiten werden in Form von BCI-Sets (Base Container Images) bereitgestellt. Der Benutzer kann Software-Stacks erstellen, aktualisieren und löschen, ohne andere Umgebungen zu beeinflussen.
Im Gegensatz zu SUSE Linux Enterprise wird die Entwicklung von ALP von Anfang an unter Verwendung eines offenen Entwicklungsprozesses durchgefĂŒhrt, bei dem Zwischenversionen und Testergebnisse fĂŒr alle Interessierten öffentlich zugĂ€nglich sind. Dies ermöglicht es den Beteiligten, die laufenden Arbeiten zu verfolgen und an der Entwicklung teilzunehmen.
Quelle: opennet.ru
