Os desenvolvedores do projeto openSUSE lançaram a versão do instalador Agama 9, que está sendo desenvolvido para substituir a interface clássica de instalação do SUSE e openSUSE, notável por separar a interface do usuário dos componentes internos do YaST. O Agama permite o uso de diferentes front-ends, como um front-end para gerenciamento da instalação através de interface web. Foram criadas builds ao vivo para teste do novo instalador, disponíveis para as arquiteturas x86_64, ppc64le, s390x e ARM64, suportando a instalação do openSUSE Leap, builds contínuas do openSUSE Tumbleweed, bem como várias edições do SUSE ALP em containers isolados.
O instalador fornece as funcionalidades necessárias para resolver tarefas como a seleção de um conjunto inicial de aplicativos, configuração de conexão de rede, idioma, teclado, fuso horário e opções de localização, preparação do dispositivo de armazenamento e partição, adição de usuários ao sistema. Entre os principais objetivos do desenvolvimento do Agama está a eliminação das limitações existentes da interface gráfica, a expansão da funcionalidade do YaST em outros aplicativos, a desvinculação de uma única linguagem de programação e a promoção da criação de configurações alternativas pela comunidade.
Para a instalação de pacotes, verificação de hardware, particionamento de discos e outras funções necessárias durante a instalação, o Agama continua utilizando as bibliotecas do YaST, sobre as quais são implementados serviços intermediários que abstraem o acesso às bibliotecas por meio de um protocolo de comunicação unificado baseado em HTTP. O instalador utiliza uma arquitetura multiprocessada, permitindo que a interface de interação com o usuário não seja bloqueada durante a execução de outras tarefas. A interface básica para gerenciar a instalação é construída com tecnologias web. A interface web é escrita em JavaScript usando o framework React e componentes PatternFly. O serviço para troca de mensagens, assim como o servidor http embutido, são escritos na linguagem Ruby.
Na nova versão:
- Uma nova implementação da interface web foi proposta, utilizando a disposição clássica e adicionando um painel lateral para a navegação por todas as etapas da instalação. Problemas de escalabilidade da interface web foram resolvidos ao adicionar novas funcionalidades. Várias seções da interface foram significativamente alteradas, sendo notavelmente reformulada a página para configurar a conexão de rede.

- As capacidades para instalação automática, realizada sem a intervenção do usuário, foram expandidas. Ao executar perfis na linguagem de definição de configuração jsonnet, mais informações sobre o hardware foram disponibilizadas. Foi implementada uma nova seção 'legacy-autoyast-storage', permitindo o uso do conteúdo das seções <partitioning /> do AutoYaST. A interface da linha de comando foi atualizada, agora com suporte à edição da configuração em um editor externo.
- Há compatibilidade parcial com perfis de instalação automática criados para AutoYaST, que podem ser importados para o Agama e convertidos para o formato próprio. Devido a diferenças na funcionalidade, nem todos os elementos de configuração do AutoYaST estão disponíveis, mas os desenvolvedores planejam garantir suporte para as seções mais significativas.
Como as seções de "particionamento", "rede", "software" e "scripts". Regras, classes, incorporação de código em Ruby e definições de scripts que são chamados antes de aplicar alterações são suportadas. - O conteúdo do meio de instalação (Live ISO) foi modernizado. Foi adicionada suporte para instalação de pacotes adicionais no ambiente Live (o banco de dados com informações sobre pacotes não está mais bloqueado, permitindo a instalação e atualização de quaisquer pacotes após o boot no modo Live). Em vez de uma senha fixa "linux" para login com privilégios de root no ambiente do meio de inicialização, agora é possível definir a própria senha ou gerar uma senha aleatória, que será exibida após o boot no console local junto com as cópias das chaves SSH geradas. certificados TLS.

Fonte: opennet.ru


