Die Entwickler des Projekts openSUSE haben einen Plan zur Weiterentwicklung des neuen Installationsprogramms Agama (ehemals D-Installer) veröffentlicht, das zur Ablösung der klassischen InstallationsoberflĂ€che von SUSE und openSUSE entwickelt wird. Dabei ist Agama bemerkenswert, weil die BenutzeroberflĂ€che von den internen Komponenten von YaST getrennt ist. Agama bietet die Möglichkeit, verschiedene Frontends zu nutzen, beispielsweise ein Frontend zur Installation ĂŒber eine WeboberflĂ€che. Um den neuen Installer zu testen, werden Live-Versionen 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, die auf isolierten Containern basieren, unterstĂŒtzen.
FĂŒr dieses Jahr sind zwei bedeutende Updates fĂŒr Agama geplant. Das erste soll Mitte April vorgestellt werden, das zweite Mitte Juli. Das Juli-Update wird sich auf die Verbesserung der FlexibilitĂ€t und FunktionalitĂ€t konzentrieren, die mit der automatischen Installation verbunden ist, die ohne menschliches Eingreifen durchgefĂŒhrt wird. Das Ziel der Entwicklung ist es, Agama so zu erweitern, dass es als Alternative zu den Werkzeugen von AutoYaST eingesetzt werden kann.
Das April-Update zeichnet sich durch die Beendigung der Nutzung von vorgefertigten Modulen, die von dem Projekt Cockpit entwickelt werden, zugunsten eines unabhĂ€ngigeres Frameworks und einer modernisierten BenutzeroberflĂ€che aus. Der RĂŒckzug von der Bindung an Cockpit wird zusĂ€tzliche externe AbhĂ€ngigkeiten ausschlieĂen und EinschrĂ€nkungen beseitigen, die die Umsetzung bestimmter Ideen behindert haben. Beispielsweise enthĂ€lt Cockpit AbhĂ€ngigkeiten von Komponenten in den Programmiersprachen Python und C, wĂ€hrend in Agama die Sprachen Ruby und Rust verwendet werden. Die Beendigung der Nutzung von Cockpit wird die Entwickler auch von den EinschrĂ€nkungen befreien, denen sie bei dem Versuch, den automatischen Installationsmodus umzusetzen und die BenutzeroberflĂ€che zur Verwaltung von Repositories zu ĂŒberarbeiten, begegnet sind, um ein optimales Gleichgewicht zwischen Einfachheit fĂŒr AnfĂ€nger und FunktionalitĂ€t fĂŒr erfahrene Benutzer zu erreichen.
In der aktuellen Entwicklungsphase bietet der neue Installer bereits die notwendigen Funktionen zur BewĂ€ltigung solcher Aufgaben wie die Auswahl eines anfĂ€nglichen Anwendungssets, die Konfiguration der Netzwerkverbindung, der Sprache, der Tastatur, der Zeitzone und der Lokalisierungsparameter, die Vorbereitung des SpeichergerĂ€ts und die Partitionierung, sowie das HinzufĂŒgen 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 Nutzbarkeit der YaST-FunktionalitĂ€t in anderen Anwendungen, die Abkehr von einer Bindung an eine Programmiersprache (die D-Bus-API ermöglicht die Erstellung von Erweiterungen in verschiedenen Sprachen) und die Förderung der Erstellung 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 werden in Agama weiterhin die YaST-Bibliotheken verwendet, ĂŒber denen Dienstschichten implementiert sind, die den Zugriff auf die Bibliotheken ĂŒber eine einheitliche D-Bus-Schnittstelle abstrahieren. Der Installer verwendet eine Multi-Process-Architektur, die sicherstellt, dass die BenutzeroberflĂ€che wĂ€hrend der AusfĂŒhrung anderer Arbeiten nicht blockiert wird.
Die grundlegende BenutzeroberflĂ€che fĂŒr die Installation wird mit web-technologien aufgebaut und beinhaltet einen Handler, der den Zugriff auf D-Bus-Aufrufe ĂŒber HTTP ermöglicht, sowie die eigentliche Web-OberflĂ€che. Die Web-OberflĂ€che ist in JavaScript unter Verwendung des React-Frameworks und der PatternFly-Komponenten geschrieben. Der Dienst zur Anbindung der BenutzeroberflĂ€che an D-Bus sowie der integrierte HTTP-Server sind in Ruby geschrieben.
Quelle: opennet.ru
