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
