Die openSUSE-Distribution hat den alternativen Installer Agama 10 vorgestellt.

Die Entwickler von openSUSE haben die Version 10 des Installers Agama veröffentlicht, der für die Ablösung der klassischen Installationsschnittstelle von SUSE und openSUSE entwickelt wird und durch die Trennung der Benutzeroberfläche von den internen Komponenten von YaST besticht. Agama ermöglicht die Verwendung verschiedener Frontends, beispielsweise ein Frontend zur Verwaltung der Installation über ein Webinterface. Zum Testen des neuen Installers wurden Live-Bauten für die Architekturen x86_64, ppc64le, s390x und ARM64 erstellt, die die Installation der Alpha-Version von openSUSE Leap 16, der kontinuierlich aktualisierten Version von openSUSE Tumbleweed sowie der MicroOS-Edition auf Containerbasis unterstützen. Der Code der Installer-Komponenten wird unter der GPLv2-Lizenz veröffentlicht und ist in den Programmiersprachen Ruby, Rust und JavaScript/TypeScript geschrieben.

Die openSUSE-Distribution hat den alternativen Installer Agama 10 vorgestellt.

Die Hauptziele der Entwicklung von Agama sind die Beseitigung bestehender Einschränkungen der grafischen Benutzeroberfläche, die Erweiterung der Nutzungsmöglichkeiten der Funktionen von YaST in anderen Anwendungen, die Abkehr von einer Bindung an eine Programmiersprache und die Förderung der Erstellung alternativer Einstellungen durch Mitglieder der Community. Der Installer bietet Funktionen wie die Auswahl eines anfänglichen Anwendungssets, die Konfiguration der Netzwerkverbindung, der Sprache, der Tastatur, der Zeitzone und der Lokalisierungsoptionen, die Vorbereitung des Speichermediums und die Partitionierung sowie das Hinzufügen von Benutzern zum System.

Für die Installation von Paketen, die Überprüfung von Hardware, die Partitionierung von Festplatten und andere notwendige Funktionen im Installationsprozess verwendet Agama weiterhin die YaST-Bibliotheken, über die Dienste bereitgestellt werden, die den Zugriff auf die Bibliotheken über ein einheitliches Kommunikationsprotokoll basierend auf HTTP abstrahieren. Im Installer kommt eine Multithread-Architektur zum Einsatz, die sicherstellt, dass die Benutzeroberfläche während der Ausführung anderer Arbeiten nicht blockiert wird. Die grundlegende Schnittstelle für die Installation wird mit Webtechnologien erstellt. Das Webinterface ist in JavaScript unter Verwendung des React-Frameworks und von PatternFly-Komponenten geschrieben. Ein Messaging-Dienst sowie ein integrierter HTTP-Server, geschrieben in Ruby, stehen zur Verfügung.

In der neuen Version:

  • Eine Funktion zur Generierung eines QR-Codes wurde hinzugefügt, der einen Link zum Öffnen des Webinterfaces des Installers im Browser enthält, was die Verbindung zum Installer von einem Smartphone aus erleichtert.
    Die openSUSE-Distribution hat den alternativen Installer Agama 10 vorgestellt.
  • Syntaxhighlighting-Komponenten wurden hinzugefügt, die beim Bearbeiten der Konfigurationsdatei im JSON-Format mit dem Befehl „agama config edit“ verwendet werden. Standardmäßig wird Vim zum Bearbeiten aufgerufen (über die Umgebungsvariable EDITOR kann ein anderer Editor angegeben werden).
    Die openSUSE-Distribution hat den alternativen Installer Agama 10 vorgestellt.
  • Im automatischen Installationsmodus wurde die Möglichkeit zur Erstellung von LVM-Snapshots, logischen LVM-Partitionen sowie von Pools und LVM-Partitionen mit dynamischer Speicherzuweisung (Thin Provisioning) implementiert. Die Verwendung bereits existierender logischer Partitionen und Partition-Gruppen wird derzeit nicht unterstützt. Zwei Modi für die automatische Löschung von Partitionen wurden hinzugefügt – bedingungslose Löschung und Löschung nur bei Bedarf (wenn nicht genug Speicher für die Erstellung der angegebenen Partitionen vorhanden ist).
  • Ein Bootparameter „agama.install_url“ wurde hinzugefügt, mit dem eine URL für das Repository zur Installation von Paketen angegeben werden kann, die von dem in der Konfiguration angegebenen Repository abweicht.
  • Entwicklern wurde die Möglichkeit geboten, Komponenten des Web-Interfaces des Installationsprogramms in TypeScript zu entwickeln. Zukünftig beabsichtigen die Entwickler, den Code nach Bedarf schrittweise von JavaScript nach TypeScript zu übertragen.
  • Im Web-Interface wird das Framework TanStack Query zur Verwaltung des Status im asynchronen Modus verwendet.
  • Der Speicherplatz, der für die Installation zusätzlicher Pakete nach dem Booten im Live-Modus zur Verfügung steht, wurde von 500 MB auf 3,5 GB erhöht.
  • Für automatisierte Tests des Web-Interfaces wird anstelle von Playwright die JavaScript-Bibliothek Puppeteer verwendet.
  • Die Steuerungskomponenten des Installationsprogramms, die über die Befehlszeile gestartet werden, wurden von DBus auf die Verwendung eines HTTP-Clients umgestellt, der auf den im Installationsprogramm integrierten HTTP-Server zugreift.

Quelle: opennet.ru

60GB SSD 8Gb DDR4