Die Entwickler des openSUSE-Projekts haben die Veröffentlichung des Agama 8-Installers (früher D-Installer) bekanntgegeben, der zur Ablösung des klassischen Installationsinterfaces von SUSE und openSUSE entwickelt wurde. Bemerkenswert ist die Trennung der Benutzeroberfläche von den internen Komponenten von YaST. Agama ermöglicht die Nutzung verschiedener Frontends, wie zum Beispiel ein Frontend zur Verwaltung der Installation über eine Weboberfläche. Für Tests des neuen Installers wurden Live-Images für die Architekturen x86_64, ppc64le, s390x und ARM64 erstellt, die die Installation von openSUSE Leap, die kontinuierlich aktualisierte Version openSUSE Tumbleweed sowie mehrere Editionen von SUSE ALP auf Basis isolierter Container unterstützen.
Der neue Installer bietet die erforderlichen Funktionen zur Bewältigung von Aufgaben wie der Auswahl eines anfänglichen Anwendungssets, der Konfiguration der Netzwerkverbindung, der Sprache, der Tastatur, der Zeitzone und der Lokalisierungsparameter, der Vorbereitung des Speichermediums und der Partitionierung sowie der Hinzufügung von Benutzern zum System. Zu den Hauptzielen der Entwicklung von Agama gehört die Beseitigung bestehender Einschränkungen der grafischen Benutzeroberfläche, die Erweiterung der Möglichkeiten zur Nutzung der Funktionalität von YaST in anderen Anwendungen, die Ablösung von der Bindung an eine Programmiersprache und die Förderung der Erstellung alternativer Einstellungen durch Community-Mitglieder.
Für die Installation von Paketen, die Überprüfung der Hardware, die Partitionierung von Festplatten und andere notwendige Funktionen während der Installation von Agama werden weiterhin die YaST-Bibliotheken verwendet. Darauf aufbauend werden Middleware-Services implementiert, die den Zugriff auf die Bibliotheken über ein einheitliches Kommunikationsprotokoll auf HTTP-Basis abstrahieren. Der Installer nutzt eine Multi-Prozess-Architektur, die es ermöglicht, dass die Benutzeroberfläche während der Ausführung anderer Aufgaben nicht blockiert wird. Die grundlegende Benutzeroberfläche für die Verwaltung der Installation ist mit Web-Technologien aufgebaut. Die Web-Oberfläche ist in JavaScript unter Verwendung des React-Frameworks und PatternFly-Komponenten geschrieben. Der Messaging-Service sowie der integrierte HTTP-Server sind in Ruby geschrieben.
In der neuen Version wird eine neue Architektur vorgestellt, die den Übergang von der Verwendung vorgefertigter Module, die im Projekt Cockpit entwickelt wurden, zu einem unabhängigen Framework und einer modernisierten Benutzeroberfläche markiert. Anstelle von D-Bus wird HTTP als primäres Kommunikationsprotokoll für die Interaktion zwischen den Agama-Komponenten eingesetzt. Der Austausch von D-Bus gegen HTTP hat die Integrationsmöglichkeiten des Projekts mit größeren Systemen erweitert und die Organisation der automatisierten Installation vereinfacht.
Die Abkehr von Cockpit hat es ermöglicht, zusätzliche externe Abhängigkeiten auszuschließen, da Cockpit Komponenten in den Sprachen Python und C enthält, während in Agama die Sprachen Ruby und Rust verwendet werden. Der Verzicht auf Cockpit hat die Entwickler auch von den Einschränkungen befreit, auf die sie gestoßen sind, als sie versuchten, den automatischen Installationsmodus umzusetzen und die Benutzeroberfläche für die Speicherung neu zu gestalten, um ein optimales Gleichgewicht zwischen Einfachheit für Anfänger und Funktionalität für erfahrene Benutzer zu erreichen.
Darüber hinaus hat die Implementierung der neuen Architektur die Startzeit des Installers erheblich verkürzt und seine Leistung gesteigert, während die Möglichkeit zur Nutzung bereits erprobter Low-Level-Komponenten erhalten blieb. Zu den Funktionen, die bislang nicht in die neue Umsetzung übertragen wurden, zählen der integrierte Terminal-Emulator und die Werkzeuge zur Verwaltung von DASD (Direct Access Storage Device) und zFCP (SCSI-over-Fibre Channel).
Neben der neuen Architektur bietet Agama 8 ein komplett überarbeitetes und funktionaler gestaltetes Interface zur Speicherverwaltung und Partitionierung, welches alle grundlegenden Funktionen des klassischen YaST-Systems beibehält und Erweiterungsmöglichkeiten für eine umfassende Anpassung bietet, gleichzeitig aber auch für eine verbesserte Benutzerfreundlichkeit für Einsteiger angepasst wurde. Beispielsweise ermöglicht das neue Interface die Auswahl des Speicherorts für jede Partition oder jedes logische LVM-Volume, das Einhängen oder Neupartitionieren vorher zugänglicher Dateisysteme, das Einrichten von Verschlüsselung und Boot-Optionen sowie das Ändern der Partitionsgrößen.

Zu den Änderungen gehört auch eine neue Benutzeroberfläche zur Auswahl von Anwendungssätzen, die Verbesserung der vollständigen Datenträgerschlüsselung auf Basis von TPM, ein vollständig überarbeiteter Netzwerkstapel, die Modernisierung einiger Widgets, verbesserte Schnittstellen zur Bearbeitung von FS-Einstellungen und zur Erstellung von Benutzern sowie eine anschaulichere Visualisierung von Installationsproblemen. Das System wird in 10 Sprachen übersetzt.
In einem Monat wird die Veröffentlichung von Agama 9 erwartet, bei der eine umfassende Neuorganisation der Web-Oberfläche geplant ist, die Funktionen umgesetzt werden, die beim Übergang auf die neue Architektur fehlten, und die Mittel für Automatisierungsinstallationen ohne menschliches Zutun erweitert werden sollen. Ziel der Entwicklung ist es, die Kompatibilität mit AutoYaST zu gewährleisten und die Verwendung von Agama als Alternative zu AutoYaST zu ermöglichen.
Quelle: opennet.ru
