• Lumière sur le développement de YaST - Sprints 69 et 70

    par l’équipe de développement de Yast

    Près de deux mois se sont écoulés depuis notre dernier rapport de sprint mais, à l’exception des vacances de Noël, l’équipe a été très occupée à travailler sur certaines fonctionnalités et corrections de bugs pour les prochaines versions de SUSE openSUSE.
    Un article décrivant tout ce que nous avons fait serait trop long , alors essayons de mettre en évidence quelques-uns d’entre eux.


    • YaST a subi un audit de sécurité et, bien qu’aucun problème de sécurité n’ait été détecté, on nous a demandé d’apporter certaines améliorations.
    • Il est maintenant possible d’exécuter le programme d’installation via PXE Boot sans aucun dépôt local. Une amélioration plutôt spécifique mais assez cool!
    • Nous sommes en train de réorganiser la prise en charge de SUSE Manager Salt Formulas dans le module YaST2 Configuration Management. Ne vous fiez pas à son nom, cela ne se limite pas à SUSE Manager.
    • Les icônes YaST sont désormais incluses dans le paquet qui les utilise. Nous espérons que cela facilitera la tâche des concepteurs d’icônes.
    • Le module Pare-feu a désormais la possibilité de créer des zones personnalisées dans firewalld.
    • Les performances lors de la lecture de fichiers /etc/hosts énormes ont été grandement améliorées.
    • Les sources de CD/DVD sont toujours désactivées après l’installation.


    YaST Security Hardening

    Notre équipe de sécurité SUSE a effectué un audit de sécurité pour YaST. La bonne nouvelle est qu’il n’y a pas de réel problème de sécurité qui devrait vous préoccuper. Malgré tout, nous avons renforcé le code pour le rendre encore plus sécurisé.

    Cela a pu causer des problèmes dans Factory/Tumbleweed car le code a été modifié à plusieurs endroits. Nous nous excusons pour les erreurs que cela aurait pu causer; mais nous sommes sûrs que vous préférez que YaST soit plus sécurisé.
    La plupart des modifications étaient centrées sur l’appel de commandes externes, ce que YaST fait souvent. Étant donné que YaST fonctionne avec des autorisations root dans la plupart des cas, nous voulons nous assurer que cela est aussi sécurisé que possible. Si vous rencontrez des problèmes, écrivez un rapport de bogue.
    Ce que nous avons fait et comment nous l’avons fait est résumé ici: Correctifs d’audit de sécurité YaST: leçons apprises et rappel.

    Installation via un démarrage PXE sans aucun référentiel d’installation


    Dans les datacenters et autres environnements d’entreprise à grande échelle, les administrateurs installent rarement les nouveaux logiciels ou systèmes via des supports amovibles tels que les DVD. Au lieu de cela, les administrateurs s’appuient sur le démarrage en PXE sur des serveurs d’image.

    L’installation de SUSE Linux Enterprise ou openSUSE dans de tels environnements nécessite généralement deux serveurs auxiliaires du réseau local:


    • Le serveur DHCP/TFTP fournissant le système minimal utilisé par PXE pour exécuter le programme d’installation.
    • Un serveur rendant le dépôt des DVD SLE accessible sur le réseau local via FTP, HTTP ou tout protocole similaire.


    Très souvent, le second est plus une exigence imposée par l’installateur que quelque chose de vraiment utile. Dans la plupart des cas, le système installé est enregistré dans le SUSE Customer Center (ou l’une de ses technologies de proxy, telles que SMT ou RMT) et récupère tous les logiciels à partir de là. Par conséquent, nous avons décidé d’éviter aux administrateurs les étapes supplémentaires consistant à télécharger l’image ISO SLE et à configurer un serveur d’installation afin de servir le contenu de cette image ISO, dans les cas où cela n’était vraiment pas nécessaire.

    Mais les dépôts ne servent pas uniquement à installer le logiciel dans le système final. Comme expliqué souvent dans ce blog, nous avons un seul programme d’installation pour tous les produits et toutes les variantes de SUSE et openSUSE, aussi différents que leur processus d’installation puissent paraître. Ce programme d’installation générique utilise les informations du dépôt d’installation pour obtenir sa propre configuration. Cela inclut les produits disponibles (et les rôles système correspondants), les étapes et options à présenter à l’utilisateur, la configuration de partitionnement souhaitée et de nombreux autres aspects. Sans cette information, l’installateur est fondamentalement un musicien sans partition.

    À partir de SLE-15-SP1, il sera possible d’utiliser le paramètre d’amorçage NOREPO = 1 pour indiquer à l’installateur de ne pas s’attendre (et plus important encore, de ne pas nécessiter) de référentiel local sur le DVD ou sur le réseau local. Dans ce cas, le programme d’installation pourra accéder à l’écran d’enregistrement et obtenir les informations relatives aux prochaines étapes de l’installation à partir du serveur d’enregistrement. Dans le cas d’openSUSE (où l’enregistrement n’a aucun sens), il pourra accéder à l’écran permettant d’ajouter plus de dépôts.

    Une autre étape (et pas des plus faciles) pour améliorer l’expérience d’installation pour nos utilisateurs. Sysadmins: profitez-en! 🙂

    Modification de la prise en charge des Formulas Salt pour SUSE Manager


    En 2017, le module Gestion de la configuration YaST bénéficie de la prise en charge des Formulas Salt de SUSE Manager depuis un projet Hack Week. Si vous ne savez pas en quoi consiste cette fonctionnalité, vous pouvez consulter la présentation Les formulaires sont la formule du succès ou le compte-rendu du projet Hack Week.


    Depuis lors, la spécification des formulaires a beaucoup évolué et la prise en charge de YaST était quelque peu obsolète. Ainsi, en novembre 2018, nous avons commencé à travailler afin d’apporter les pièces manquantes au module YaST. Fondamentalement, nous avons réécrit le support des formulaires et, bien qu’il y ait encore des améliorations à apporter, nous sommes sur le point de publier une nouvelle version avec un support mis à jour pour cette fonctionnalité.


    Capture d’écran de la formule dhcpd

    Gestion des définitions de zones personnalisées dans le pare-feu YaST

    La nouvelle interface utilisateur YaST pour la configuration de firewalld a été annoncée dans le rapport du sprint #63 (il y a quatre mois… le temps passe!) et depuis lors, nous avons continué à l’améliorer.

    firewalld est livré avec certaines zones prédéfinies. Bien qu’il couvre la plupart des besoins des utilisateurs, il permet en outre de définir des zones personnalisées. Lors du dernier sprint, nous avons ajouté un support dans la nouvelle interface utilisateur et dans AutoYaST pour gérer les zones personnalisées.

    Dialogue de définition des zones personnalisées du pare-feu YaST2

    Au cours du processus de développement, certains problèmes détectés dans la configuration AutoYaST ont également été traités.

    Mise à jour de la marque YaST et de la gestion des icônes


    Auparavant, les icônes YaST étaient incluses dans les paquets yast2-branding-openSUSE (openSUSE) etyast2-theme-SLE (SUSE Linux Enterprise). Les icônes YaST standard étant incluses dans ces packages, les modules YaST standard n’incluaient aucune icône.

    Cependant, l’inconvénient pour les concepteurs d’icônes était qu’il n’était pas évident de savoir quelles icônes étaient réellement utilisées.
    Si vous souhaitiez mettre à jour le thème des icônes, vous pouvez potentiellement effectuer beaucoup de travail inutile car certaines icônes ne sont plus utilisées.

    Désormais, les icônes sont incluses dans le paquet YaST correspondant. Si le paquet est supprimé, l’icône est également supprimée.

    L’interface utilisateur du gestionnaire de paquets comprend des icônes de secours compilées. Cela signifie que si le paquet de personnalisation est corrompu ou si les fichiers d’icônes sont supprimés accidentellement, il sera toujours utilisable pour une restauration en urgence.


    La personnalisation (branding) fonctionne toujours, le fournisseur peut toujours fournir des icônes spécifiques qui remplaceront celles incluses. Il est donc toujours possible d’avoir un look différent dans les produits openSUSE et SLE.


    Nouvelle capture d’écran de marque du centre de contrôle YaST2

    Un grand merci à Stasiek Michalski et à Noah Davis de la communauté qui ont modifié le code YaST, conçu les nouvelles icônes et effectué beaucoup de nettoyage!

    Amélioration des performances lors du chargement de fichiers /etc/hosts de très grande taille


    Il peut arriver que vous ayez besoin de maintenir un énorme fichier /etc/hosts, en particulier lorsque vous utilisez des bloqueurs de publicités. Un tel fichier avec des milliers de lignes prenait un temps incroyable pour être chargé dans YaST2. Sur certaines configurations, il peut même arriver que le chargement d’un /etc/hosts avec environ 10 000 lignes gèle complètement le système.
    Après quelques modifications dans le module YaST2 Host, les performances ont été considérablement améliorées et le chargement d’un
    fichier de 10 000 lignes prend désormais environ 30 secondes sur la même configuration que celle où il crashait précédemment.

    Désactivation des dépôts de CD / DVD après l’installation

    Si vous installez votre système à partir d’une source CD/DVD, il arrive généralement que ce dépôt ne soit pas disponible pendant toute la durée de vie du système. Dans certains cas d’utilisation, cela n’était gênant qu’en raison de certaines mises en garde mais, dans d’autres cas, cela entraînait de graves complications, par exemple lorsque vous tentiez d’effectuer une migration.

    Dans le passé, dans certaines circonstances, ces dépôts étaient déjà désactivés. Mais, à partir de maintenant, ils seront toujours désactivés par défaut afin d’éviter des effets secondaires indésirables.

    Conclusion


    C’est tout pour le premier rapport de 2019. Si vous vous posez la question, il est prévu de publier un rapport après chaque sprint. Attendez-vous donc au prochain dans environ deux semaines.

    Cependant, nous avons récemment dû migrer depuis les GitHub Services (désormais obsolètes) vers les crochet (hooks) Web GitHub, il y aura donc très bientôt un article de blog supplémentaire à ce sujet.

    Restez à l’écoute!