Gli sviluppatori del progetto openSUSE hanno presentato l'installer Agama 11, sviluppato per sostituire l'interfaccia classica di installazione di SUSE e openSUSE, ed è notevole per la separazione dell'interfaccia utente dai componenti interni di YaST. Agama supporta l'uso di diversi frontend, per esempio un frontend per gestire l'installazione tramite interfaccia web. Il codice dei componenti dell'installer è distribuito con licenza GPLv2 ed è scritto nei linguaggi Ruby, Rust e JavaScript/TypeScript.
Il nuovo installer può essere testato nella versione alpha di openSUSE 16 e nella prevista beta di SUSE Linux Enterprise Server 16. Inoltre, per testare il nuovo installer sono state create separatamente delle live build per le architetture x86_64, ppc64le, s390x e ARM64, che supportano l'installazione della versione alpha di openSUSE Leap 16, delle build continuamente aggiornate di openSUSE Tumbleweed e di openSUSE Slowroll, nonché dell'edizione MicroOS basata su container.
Gli obiettivi dello sviluppo di Agama sono: eliminare le limitazioni esistenti dell'interfaccia grafica; ampliare le possibilità di utilizzo delle funzionalità di YaST in altre applicazioni; allontanarsi dalla dipendenza da un unico linguaggio di programmazione; incoraggiare la creazione di configurazioni alternative da parte dei membri della comunità.
L'installer offre funzioni come la selezione di un set iniziale di applicazioni, la configurazione della connessione di rete, della lingua, della tastiera, del fuso orario e delle opzioni di localizzazione, la preparazione del dispositivo di archiviazione e la partizione, l'aggiunta di utenti al sistema.
Per l'installazione di pacchetti, verifica dell'hardware, suddivisione dei dischi e altre funzioni necessarie durante l'installazione, in Agama vengono ancora utilizzate le librerie YaST, sopra le quali sono implementati servizi di astrazione che astraggono l'accesso alle librerie tramite un protocollo di comunicazione unificato basato su HTTP. L'installer utilizza un'architettura multi-processo, 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 utilizzando tecnologie web. L'interfaccia web è scritta in JavaScript utilizzando il framework React e i componenti PatternFly. Il servizio per lo scambio di messaggi, così come il server http integrato, è scritto in Ruby.

Nella nuova versione:
- Dopo aver selezionato il tipo di sistema operativo, viene ora visualizzata la schermata per impostare la password dell'utente root. In precedenza, l'utente doveva passare separatamente alla sezione 'Utenti' e ritornare alla schermata principale, mentre ora la configurazione del root è integrata nel flusso di azioni proposto dall'installer.

- È stata rielaborata la schermata principale visualizzata dopo la configurazione della password root. La modifica principale è l'aggiunta di un pulsante 'Installa' in tutte le sezioni, che consente di passare all'installazione da qualsiasi sezione con le impostazioni.

- Se durante l'installazione mancano alcune impostazioni, sul pulsante Install viene visualizzato un indicatore speciale con un suggerimento sulle azioni richieste.

- Per il pacchetto commerciale SUSE Linux Enterprise Server 16 sono stati implementati passaggi per la registrazione per ottenere accesso ai repository e confermare l'accordo di licenza.


- Nel modo di installazione utilizzando la riga di comando, che può essere applicato da script o quando non è possibile avviare l'interfaccia web, è stata implementata l'opzione '--api', che consente di gestire l'installazione da un altro computer.
- Nella modalità di installazione automatica è stata aggiunta la supporto per l'inserimento di script nella configurazione di installazione. Per aggiungere script, è stata proposta la sezione 'scripts', che consente di aggiungere script eseguiti prima o dopo l'installazione, nonché durante il primo avvio del sistema installato.
- Nella configurazione per la modalità di installazione automatica è stata introdotta la possibilità di generare automaticamente partizioni fisiche nel gruppo di partizioni LVM sulla base del disco specificato come base per LVM. È stata inoltre aggiunta la supporto per definire nella configurazione lo sblocco di dischi crittografati, le cui informazioni per la decrittazione sono memorizzate nel TPMv2.
Fonte: opennet.ru





