Die Entwickler des openSUSE-Projekts haben einen Plan zur Weiterentwicklung des neuen Installationsprogramms Agama (ehemals D-Installer) veröffentlicht. Dieses wird entwickelt, um die klassische Installationsoberfläche von SUSE und openSUSE zu ersetzen, und zeichnet sich durch die Trennung der Benutzeroberfläche von den internen Komponenten von YaST aus. Agama ermöglicht die Verwendung verschiedener Frontends, wie zum Beispiel ein Frontend zur Verwaltung der Installation über eine Webschnittstelle. Zur Testung des neuen Installationsprogramms werden Live-Bilder für die Architekturen x86_64 und ARM64 erstellt, die die Installation der kontinuierlich aktualisierten Version openSUSE Tumbleweed sowie der Editionen SUSE ALP, openSUSE MicroOS und openSUSE MicroOS Desktop unterstützen, die auf isolierten Containern basieren.
Für dieses Jahr sind zwei bedeutende Updates für Agama geplant. Das erste wird für Mitte April erwartet und das zweite für Mitte Juli. Das Juli-Update wird darauf abzielen, die Flexibilität und Funktionalität in Bezug auf die automatisierte Installation zu erhöhen, die ohne menschliches Zutun durchgeführt wird. Ziel der Entwicklung ist es, Agama als Alternative zu den Werkzeugen von AutoYaST einzuführen.
Das April-Update ist bemerkenswert durch den Verzicht auf fertige Module, die im Cockpit-Projekt entwickelt wurden, zugunsten eines unabhängigeren Frameworks und eines modernisierten Benutzerinterfaces. Der Abschied von Cockpit wird weitere externe Abhängigkeiten ausschließen und die Einschränkungen beseitigen, die der Umsetzung bestimmter Ideen im Wege standen. Zum Beispiel enthält Cockpit Abhängigkeiten von Komponenten in den Programmiersprachen Python und C, während in Agama die Sprachen Ruby und Rust verwendet werden. Der Verzicht auf Cockpit befreit die Entwickler zudem von den Einschränkungen, auf die sie bei ihren Versuchen gestoßen sind, den automatischen Installationsmodus zu implementieren und die Schnittstelle zur Speicherung so zu überarbeiten, dass ein optimales Gleichgewicht zwischen Benutzerfreundlichkeit für Anfänger und Funktionalität für erfahrene Benutzer erreicht wird.
In der aktuellen Entwicklungsphase bietet der neue Installer bereits Funktionen an, die notwendig sind, um Aufgaben wie die Auswahl eines anfänglichen Anwendungssatzes, die Konfiguration der Netzwerkverbindung, der Sprache, der Tastatur, der Zeitzone und der Lokalisierungsparameter, die Vorbereitung des Speichermediums und die Partitionierung sowie die Hinzufügung von Benutzern zum System zu lösen. 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, das Absehen von einer Bindung an eine Programmiersprache (D-Bus API wird die Erstellung von Erweiterungen in verschiedenen Sprachen ermöglichen) und die Förderung der Schaffung alternativer Einstellungen durch Mitglieder der Community.

Für die Installation von Paketen, die Überprüfung der Hardware, die Partitionierung von Festplatten und andere notwendige Funktionen während der Installation in Agama werden weiterhin die YaST-Bibliotheken verwendet. Darüber hinaus bieten Layer-Services eine Abstraktion für den Zugriff auf die Bibliotheken über die einheitliche D-Bus-Schnittstelle. Der Installer nutzt eine Multithread-Architektur, die es ermöglicht, dass die Benutzeroberfläche nicht blockiert wird, während andere Aufgaben ausgeführt werden.
Die grundlegende Benutzeroberfläche zur Verwaltung der Installation basiert auf Webtechnologien und umfasst einen Handler, der den Zugriff auf D-Bus-Aufrufe über HTTP ermöglicht, sowie eine direkte Weboberfläche. Die Weboberfläche ist in JavaScript unter Verwendung des Frameworks React und von PatternFly-Komponenten geschrieben. Der Service zur Anbindung der Benutzeroberfläche an D-Bus sowie der integrierte HTTP-Server sind in Ruby geschrieben.
Quelle: opennet.ru
