La distribution openSUSE a présenté un installateur alternatif pour Agama 10

Les développeurs du projet openSUSE ont publié la version du programme d'installation d'Agama 10, qui est en cours de développement pour remplacer l'interface d'installation classique de SUSE et openSUSE, et se distingue par la séparation de l'interface utilisateur des composants internes de YaST. Agama offre la possibilité d'utiliser différents frontends, par exemple un frontend permettant de gérer l'installation via une interface web. Pour tester le nouveau programme d'installation, des versions live ont été créées pour les architectures x86_64, ppc64le, s390x et ARM64, prenant en charge l'installation de la version alpha d'openSUSE Leap 16, la version openSUSE Tumbleweed continuellement mise à jour et l'édition basée sur conteneur de MicroOS. Le code du composant d'installation est distribué sous licence GPLv2 et écrit en Ruby, Rust et JavaScript/TypeScript.

La distribution openSUSE a présenté un installateur alternatif pour Agama 10

Les principaux objectifs du développement d'Agama sont d'éliminer les limitations existantes de l'interface graphique, d'étendre la possibilité d'utiliser les fonctionnalités de YaST dans d'autres applications, d'éviter d'être lié à un seul langage de programmation et d'encourager la création de paramètres alternatifs par les membres de la communauté. Le programme d'installation contient des fonctions telles que la sélection d'un ensemble initial d'applications, la configuration d'une connexion réseau, les paramètres de langue, de clavier, de fuseau horaire et de localisation, la préparation d'un périphérique de stockage et le partitionnement, l'ajout d'utilisateurs au système.

Pour installer les packages, vérifier les équipements, partitionner les disques et autres fonctions nécessaires à l'installation, Agama continue d'utiliser les bibliothèques YaST, au-dessus desquelles sont implémentés des services de couche qui résument l'accès aux bibliothèques via un protocole de communication unifié basé sur HTTP. Le programme d'installation utilise une architecture multi-processus, grâce à laquelle l'interface utilisateur n'est pas bloquée pendant que d'autres travaux sont en cours. L'interface de base de gestion de l'installation est construite à l'aide des technologies Web. L'interface Web est écrite en JavaScript à l'aide du framework React et des composants PatternFly. Un service de messagerie, ainsi qu'un serveur http intégré, écrits en Ruby.

Dans la nouvelle version:

  • Ajout de la possibilité de générer un code QR contenant un lien pour ouvrir l'interface Web de l'installateur dans un navigateur, ce qui simplifie la connexion à l'installateur depuis un smartphone.
    La distribution openSUSE a présenté un installateur alternatif pour Agama 10
  • Ajout de composants pour la coloration syntaxique, utilisés lors de l'édition d'un fichier de configuration au format JSON avec la commande « agama config edit ». Pour l'édition, Vim est appelé par défaut (vous pouvez spécifier n'importe quel autre éditeur via la variable d'environnement EDITOR).
    La distribution openSUSE a présenté un installateur alternatif pour Agama 10
  • En mode d'installation automatique, il est possible de créer des groupes de partitions LVM, des partitions logiques LVM, ainsi que des pools et partitions LVM avec allocation dynamique d'espace de stockage (thin provisioning). L'utilisation de partitions logiques et de groupes de partitions préexistants n'est pas encore prise en charge. Ajout de deux modes de suppression automatique des partitions : suppression inconditionnelle et suppression uniquement lorsque cela est nécessaire (lorsqu'il n'y a pas assez d'espace pour créer les partitions spécifiées).
  • Ajout du paramètre de démarrage "agama.install_url", via lequel vous pouvez spécifier l'URL du référentiel pour installer des packages autres que le référentiel spécifié dans la configuration.
  • Il est possible de développer des composants de l'interface Web de l'installateur en Typescript. À l'avenir, les développeurs ont l'intention de transférer progressivement le code de JavaScript vers Typescript si nécessaire.
  • L'interface Web utilise le framework TanStack Query pour gérer l'état en mode asynchrone.
  • La quantité de stockage disponible pour l'installation de packages supplémentaires après le téléchargement en mode Live a été étendue de 500 Mo à 3.5 Go.
  • Pour les tests automatisés de l'interface Web, la bibliothèque JavaScript Puppeteer est utilisée à la place du système Playwright.
  • Les composants de gestion du programme d'installation lancés à partir de la ligne de commande ont été transférés de DBus vers l'utilisation d'un client HTTP qui accède au serveur HTTP intégré au programme d'installation.

Source: opennet.ru

Ajouter un commentaire