Gli sviluppatori del progetto openSUSE hanno pubblicato la versione dell'installer Agama 8 (precedentemente D-Installer), sviluppata per sostituire l'interfaccia classica di installazione di SUSE e openSUSE, distinguendosi per la separazione dell'interfaccia utente dai componenti interni di YaST. Agama offre la possibilità di utilizzare vari frontend, ad esempio, un frontend per la gestione dell'installazione tramite interfaccia web. Per testare il nuovo installer sono state create delle live build per le architetture x86_64, ppc64le, s390x e ARM64, che supportano l'installazione di openSUSE Leap, della build continuamente aggiornata openSUSE Tumbleweed e di alcune edizioni di SUSE ALP basate su container isolati.
Il nuovo installer offre le funzionalità necessarie per risolvere compiti come la selezione di un set iniziale di applicazioni, la configurazione della connessione di rete, della lingua, della tastiera, del fuso orario e delle impostazioni di localizzazione, la preparazione del dispositivo di archiviazione e la partizione, e l'aggiunta di utenti al sistema. Tra i principali obiettivi dello sviluppo di Agama si menziona l'eliminazione delle attuali limitazioni dell'interfaccia grafica, l'espansione delle possibilità di utilizzo delle funzionalità di YaST in altre applicazioni, il superamento del vincolo a un unico linguaggio di programmazione e la promozione della creazione di impostazioni alternative da parte dei membri della comunità.
Per l'installazione dei pacchetti, il controllo dell'hardware, la partizione dei dischi e altre funzionalità necessarie durante l'installazione, in Agama continuano ad essere utilizzate le librerie YaST, sopra le quali sono implementati servizi intermedi che astraggono l'accesso alle librerie tramite un protocollo di comunicazione unificato basato su HTTP. L'installer utilizza un'architettura multi-thread, grazie alla quale l'interfaccia di interazione con l'utente non viene bloccata durante l'esecuzione di altre operazioni. L'interfaccia di base per la gestione dell'installazione è costruita con l'uso di tecnologie web. L'interfaccia web è scritta in JavaScript utilizzando il framework React e i componenti PatternFly. Il servizio per lo scambio di messaggi e il server HTTP integrato sono scritti in linguaggio Ruby.
Nella nuova versione è stata proposta una nuova architettura, che segna il passaggio dall'uso di moduli pronti, sviluppati dal progetto Cockpit, a un framework indipendente e a un'interfaccia utente modernizzata. Invece di D-Bus, l'HTTP è stato adottato come protocollo principale di comunicazione per l'interazione tra i componenti di Agama. La sostituzione di D-Bus con HTTP ha ampliato le possibilità del progetto di integrazione con sistemi più grandi e ha semplificato l'organizzazione dell'installazione in modo automatizzato.
Il passaggio dall'associazione a Cockpit ha permesso di eliminare le dipendenze esterne aggiuntive; ad esempio, Cockpit include tra le sue dipendenze componenti scritti in Python e C, mentre in Agama vengono utilizzati i linguaggi Ruby e Rust. La cessazione dell'uso di Cockpit ha anche liberato gli sviluppatori dai vincoli che hanno affrontato durante i tentativi di implementare la modalità di installazione automatica e di riprogettare l'interfaccia di configurazione dei repository per raggiungere un equilibrio ottimale tra semplicità per i principianti e funzionalità per gli utenti esperti.
Inoltre, l'adozione della nuova architettura ha notevolmente ridotto il tempo di avvio dell'installatore e ne ha migliorato le prestazioni, mantenendo comunque la possibilità di utilizzare componenti a basso livello già collaudati. Tra le funzionalità che non sono ancora state trasferite nella nuova implementazione si menzionano un emulatore di terminale integrato e strumenti per la gestione dei dispositivi DASD (Direct Access Storage Device) e zFCP (SCSI-over-Fibre Channel).
Oltre alla nuova architettura, in Agama 8 è stata proposta un'interfaccia completamente riprogettata e più funzionale per la configurazione dei repository e la suddivisione delle partizioni disco, che conserva tutte le funzionalità di base del classico sistema di configurazione dei repository YaST e offre strumenti per una personalizzazione avanzata, ma è stata adattata per semplificarne la comprensione per i principianti. Ad esempio, la nuova interfaccia consente di scegliere la posizione di ogni partizione o volume logico LVM, di montare o riformattare file system precedentemente accessibili, di configurare la crittografia e le impostazioni di avvio, di modificare le dimensioni delle partizioni.

Tra le novità si segnala una nuova interfaccia per la selezione dei set di applicazioni, un miglioramento nella configurazione della crittografia a disco completo basata su TPM, un stack di rete completamente riscritto, l'aggiornamento di alcuni widget, il miglioramento delle interfacce per modificare le impostazioni del FS e per la creazione di utenti, una visualizzazione più chiara dei problemi che si presentano durante l'installazione e la traduzione in 10 lingue.
Tra un mese è prevista l'uscita di Agama 9, in cui si prevede una significativa riorganizzazione dell'interfaccia web, l'implementazione delle funzionalità mancate durante il passaggio alla nuova architettura, e l'ampliamento degli strumenti per l'installazione in modalità automatica, eseguita senza l'intervento umano. L'obiettivo dello sviluppo è garantire la compatibilità con AutoYaST e fornire la possibilità di utilizzare Agama come alternativa a AutoYaST.
Fonte: opennet.ru
