20 Déploiement de pré-installations personnalisées #
Le déploiement de préinstallations personnalisées de SUSE Linux Enterprise Server sur plusieurs machines identiques vous évite d'installer chacune d'elles séparément et fournit une méthode d'installation standardisée aux utilisateurs finaux.
YaST firstboot permet de créer des images de pré-installation personnalisées et de déterminer le déroulement des dernières étapes de la personnalisation nécessitant une intervention de l'utilisateur final (contrairement à AutoYaST, qui autorise les installations entièrement automatisées).
Pour créer une installation personnalisée, l'exécuter sur votre matériel et personnaliser le produit final, procédez comme suit :
Préparez la machine principale dont le disque doit être cloné sur les machines clientes. Pour plus d'informations, reportez-vous à la Section 20.1, « Préparation de la machine principale ».
Personnalisez le workflow Firstboot. Pour plus d'informations, reportez-vous à la Section 20.2, « Personnalisation de l'installation de Firstboot ».
Clonez le disque de la machine principale et exécutez l'image sur le disques des clients. Pour plus d'informations, reportez-vous à la Section 20.3, « Clonage de l'installation principale ».
Veillez à ce que l'utilisateur final personnalise l'instance de SUSE Linux Enterprise Server. Pour plus d'informations, reportez-vous à la Section 20.4, « Personnalisation de l'installation ».
20.1 Préparation de la machine principale #
Pour préparer une machine principale pour un workflow Firstboot, procédez comme suit :
Insérez le support d'installation dans la machine principale.
Démarrez la machine.
Effectuez une installation normale, y compris toutes les étapes de configuration nécessaires, et veillez à sélectionner le paquetage
yast2-firstboot
pour l'installation.Pour définir votre propre workflow YaST d'étapes de configuration pour l'utilisateur final ou pour ajouter vos propres modules YaST à ce workflow, passez à la Section 20.2, « Personnalisation de l'installation de Firstboot ». Sinon, passez directement à l'Étape 5.
Activez Firstboot en tant qu'utilisateur
root
:créez un fichier vide
/var/lib/YaST2/reconfig_system
pour déclencher l'exécution de Firstboot. Ce fichier sera supprimé une fois la configuration de Firstboot exécutée avec succès. Créez ce fichier à l'aide de la commande suivante :touch /var/lib/YaST2/reconfig_system
Passez à la Section 20.3, « Clonage de l'installation principale ».
20.2 Personnalisation de l'installation de Firstboot #
La personnalisation du workflow d'installation de Firstboot peut impliquer plusieurs composants. Il est recommandé de les personnaliser. Si vous n'effectuez aucune modification, Firstboot exécutera l'installation en utilisant les paramètres par défaut. Les options suivantes sont disponibles :
Personnalisation des messages destinés à l'utilisateur, comme décrit dans la Section 20.2.1, « Personnalisation des messages YaST ».
Personnalisation des licences et des opérations liées aux licences, comme décrit dans la Section 20.2.2, « Personnalisation de l'opération de licence ».
Personnalisation des notes de version à afficher, comme décrit dans la Section 20.2.3, « Personnalisation des notes de version ».
Personnalisation de l'ordre et du nombre de composants impliqués dans l'installation, comme décrit dans la Section 20.2.4, « Personnalisation du workflow ».
Configuration des scripts facultatifs supplémentaires, comme décrit dans la Section 20.2.5, « Configuration des scripts supplémentaires ».
Pour personnaliser l'un de ces composants, modifiez les fichiers de configuration suivants :
/etc/sysconfig/firstboot
Permet de configurer les différents aspects de Firstboot (comme les notes de version, les scripts et les opérations de licence).
/etc/YaST2/firstboot.xml
Permet de configurer le workflow d'installation en activant ou en désactivant les composants, ou bien en ajoutant des composants personnalisés.
Fournissez des traductions pour ce type de workflow d'installation personnalisé, comme décrit dans la Section 20.2.6, « Élaboration des traductions du workflow d'installation ».
Astuce : emplacement alternatif pour le fichier de contrôle/etc/YaST2/firstboot.xml
est le chemin par défaut du fichier de contrôle, installé par le paquetageyast2-firstboot
. Si vous devez définir un autre emplacement pour le fichier de contrôle, modifiez/etc/sysconfig/firstboot
et remplacez la variableFIRSTBOOT_CONTROL_FILE
par l'emplacement de votre choix.
Si vous souhaitez personnaliser des composants autres que les composants du workflow, reportez-vous à la documentation control.xml
disponible à l'adresse https://doc.opensuse.org/projects/YaST/SLES11/tdg/inst_in_general_chap.html#product_control.
20.2.1 Personnalisation des messages YaST #
Par défaut, une installation de SUSE Linux Enterprise Server contient plusieurs messages par défaut localisés et affichés à différents stades du processus d'installation. Ils incluent un message de bienvenue, un message relatif à la licence et un message de félicitations à l'issue de l'installation. Vous pouvez remplacer l'un de ces messages par une version qui vous est propre et inclure cette dernière dans l'installation. Pour inclure votre propre message de bienvenue, procédez comme suit :
Connectez-vous en tant qu'utilisateur
root
.Ouvrez le fichier de configuration
/etc/sysconfig/firstboot
et appliquez les modifications suivantes :Définissez
FIRSTBOOT_WELCOME_DIR
sur le chemin du répertoire dans lequel vous souhaitez stocker les fichiers contenant le message de bienvenue et les versions localisées, par exemple :FIRSTBOOT_WELCOME_DIR="/usr/share/firstboot/"
Si le nom du fichier de votre message de bienvenue est différent de
welcome.txt
etwelcome_locale.txt
(avec locale correspondant à un code de langue ISO 639, tel que « cs » ou « de »), indiquez le modèle du nom de fichier dansFIRSTBOOT_WELCOME_PATTERNS
. Par exemple :FIRSTBOOT_WELCOME_PATTERNS="mywelcome.txt"
Si cette variable n'est pas définie, la valeur par défaut
welcome.txt
sera utilisée.
Créez le fichier de bienvenue et les versions localisées, puis placez-les dans le répertoire spécifié dans le fichier de configuration
/etc/sysconfig/firstboot
.
Procédez de la même façon pour configurer les messages personnalisés de licence et de fin d'installation. Ces variables sont FIRSTBOOT_LICENSE_DIR
et FIRSTBOOT_FINISH_FILE
.
Définissez le paramètre SHOW_Y2CC_CHECKBOX
sur « yes » si l'utilisateur doit être en mesure de démarrer YaST directement après l'exécution de l'installation.
20.2.2 Personnalisation de l'opération de licence #
Vous pouvez personnaliser la façon dont le système d'installation réagit au refus de l'accord de licence par un utilisateur. Le système peut réagir de trois façons à ce scénario :
- arrêter
L'installation de Firstboot s'interrompt et le système tout entier s'arrête. Ce mode correspond au paramétrage par défaut.
- continuer
L'installation de Firstboot continue.
- ignorer
L'installation de Firstboot s'interrompt, mais le système tente de démarrer.
Faites votre choix et définissez LICENSE_REFUSAL_ACTION
sur la valeur appropriée.
20.2.3 Personnalisation des notes de version #
Si vous avez modifié l'instance de SUSE Linux Enterprise Server déployée avec Firstboot, vous devrez probablement informer les utilisateurs finaux des aspects importants de leur nouveau système d'exploitation. Une installation standard utilise les notes de version (affichées pendant l'une des étapes finales de l'installation) pour communiquer des informations importantes aux utilisateurs. Pour afficher vos propres notes de version modifiées dans le cadre de l'installation de Firstboot, procédez comme suit :
Créez votre propre fichier de notes de version. Utilisez le format RTF comme dans l'exemple de fichier dans
/usr/share/doc/release-notes
et enregistrez le résultat sousRELEASE-NOTES.en.rtf
(pour l'anglais).Stockez les versions localisées facultatives à côté de la version originale et remplacez la partie
en
du nom du fichier par le code de langue ISO 639 approprié ;de
pour l'allemand, par exemple.Ouvrez le fichier de configuration Firstboot à partir de
/etc/sysconfig/firstboot
et définissezFIRSTBOOT_RELEASE_NOTES_PATH
sur le répertoire réel dans lequel les fichiers de notes de version sont stockés.
20.2.4 Personnalisation du workflow #
L'exemple /etc/YaST2/firstboot.xml
fourni définit un workflow standard qui inclut les composants activés suivants :
Sélection de la langue
Bienvenue
Accord de licence
Heure et date
Utilisateurs
Mot de passe racine
Terminer la configuration
N'oubliez pas que ce workflow est un modèle. Vous pouvez l'ajuster correctement en éditant manuellement le fichier de configuration de Firstboot /etc/YaST2/firstboot.xml
. Ce fichier XML est un sous-ensemble du fichier control.xml
standard utilisé par YaST pour contrôler le workflow d'installation. Pour en savoir plus sur la configuration de la section workflow, reportez-vous à l'Exemple 20.2, « Configuration de la section workflow ».
Pour un aperçu des propositions, reportez-vous à l'Exemple 20.1, « Configuration des écrans de propositions ». Cet exemple fournit suffisamment de contexte pour modifier le workflow d'installation de Firstboot. La syntaxe de base du fichier de configuration de Firstboot (plus la façon dont les principaux éléments sont configurés) est décrite via cet exemple.
… <proposals config:type="list">1 <proposal>2 <name>firstboot_hardware</name>3 <mode>installation</mode>4 <stage>firstboot</stage>5 <label>Hardware Configuration</label>6 <proposal_modules config:type="list">7 <proposal_module>printer</proposal_module>8 </proposal_modules> </proposal> <proposal> … </proposal> </proposals>
Conteneur de toutes les propositions qui doivent faire partie du workflow Firstboot | |
Conteneur d'une proposition individuelle | |
Nom interne de la proposition | |
Mode de cette proposition. N'effectuez aucune modification ici. Pour une installation de , ce paramètre doit être défini sur | |
Stade du processus d'installation auquel cette proposition est appelée. N'effectuez aucune modification ici. Pour une installation de , ce paramètre doit être défini sur | |
Libellé à afficher sur la proposition | |
Conteneur de tous les modules de l'écran de proposition | |
Un ou plusieurs modules de l'écran de proposition |
La section suivante du fichier de configuration de Firstboot contient la définition du workflow. Tous les modules devant faire partie du workflow d'installation de Firstboot doivent être répertoriés ici.
<workflows config:type="list"> <workflow> <defaults> <enable_back>yes</enable_back> <enable_next>yes</enable_next> <archs>all</archs> </defaults> <stage>firstboot</stage> <label>Configuration</label> <mode>installation</mode> … <!–– list of modules ––> </modules> </workflow> </workflows> …
La structure principale de la section workflows
est très similaire à celle de la section proposals
. Un conteneur contient les éléments du workflow, y compris les informations sur les étapes, les libellés et le mode (tout comme les propositions présentées dans l'Exemple 20.1, « Configuration des écrans de propositions »). La principale différence est la section defaults
, qui contient les informations de base relatives à la conception des composants du workflow :
enable_back
Inclut le bouton
dans toutes les boîtes de dialogue.enable_next
Inclut le bouton
dans toutes les boîtes de dialogue.archs
Spécifie les architectures matérielles sur lesquelles ce workflow doit être utilisé.
<modules config:type="list">1 <module>2 <label>Language</label>3 <enabled config:type="boolean">false</enabled>4 <name>firstboot_language</name>5 </module> <modules>
Conteneur de tous les composants du workflow | |
Définition du module | |
Libellé affiché avec le module | |
Paramètre permettant d'activer ou de désactiver ce composant dans le workflow | |
Nom du module. Le module lui-même doit être situé sous |
Pour modifier le nombre ou l'ordre des écrans de propositions pendant l'installation de Firstboot, procédez comme suit :
Ouvrez le fichier de configuration de Firstboot sous
/etc/YaST2/firstboot.xml
.Supprimez ou ajouter des écrans de propositions ou modifiez l'ordre des écrans existants :
Pour supprimer une proposition dans son intégralité, supprimez l'élément
proposal
, ainsi que tous ses sous-éléments de la sectionproposals
, puis supprimez l'élémentmodule
approprié (avec ses sous-éléments) du workflow.Pour ajouter une proposition, créez un élément
proposal
et renseignez tous les sous-éléments requis. Assurez-vous que la proposition existe en tant que module YaST dans/usr/share/YaST2/clients
.Pour modifier l'ordre des propositions, déplacez les éléments
module
appropriés contenant les écrans de propositions dans le workflow. Notez qu'il peut y avoir des dépendances avec d'autre étapes de l'installation qui requièrent un ordre particulier des propositions et des composants du workflow.
Appliquez vos modifications et fermez le fichier de configuration.
Vous pouvez toujours modifier le workflow des étapes de la configuration lorsque les valeurs par défaut ne correspondent pas à vos besoins. Activez ou désactivez certains modules du workflow (ou ajoutez vos modules personnalisés).
Pour modifier l'état d'un module dans le workflow Firstboot, procédez comme suit :
Ouvrez le fichier de configuration
/etc/YaST2/firstboot.xml
.Changez la valeur de l'élément
enabled
detrue
enfalse
pour désactiver le module ou defalse
entrue
pour le réactiver.<module> <label>Time and Date</label> <enabled config:type="boolean">true</enabled> <name>firstboot_timezone</name> </module>
Appliquez vos modifications et fermez le fichier de configuration.
Pour ajouter un module personnalisé au workflow, procédez comme suit :
Créez votre propre module YaST et stockez le fichier de module
module_name.rb
dans/usr/share/YaST2/clients
.Ouvrez le fichier de configuration
/etc/YaST2/firstboot.xml
.Déterminez à quel point du workflow votre nouveau module doit être exécuté. Ce faisant, assurez-vous que toute dépendance éventuelle avec d'autres étapes du workflow est prise en compte et résolue.
Créez un élément
module
dans le conteneurmodules
et ajoutez les sous-éléments appropriés :<modules config:type="list"> … <module> <label>my_module</label> <enabled config:type="boolean">true</enabled> <name>filename_my_module</name> </module> </modules>
Entrez le libellé à afficher sur votre module dans l'élément
label
.Assurez-vous que le paramètre
enabled
est défini surtrue
pour que votre module soit inclus dans le workflow.Entrez le nom de fichier de votre module dans l'élément
name
. Ignorez le chemin entier et le suffixe.rb
.
Appliquez vos paramètres et fermez le fichier de configuration.
Si le matériel cible peut être équipé de plusieurs interfaces réseau, ajoutez le paquetage network-autoconfig
à l'image de l'application. network-autoconfig
passe en revue toutes les interfaces Ethernet disponibles jusqu'à ce que l'une d'entre elles soit correctement configurée via DHCP.
20.2.5 Configuration des scripts supplémentaires #
Firstboot peut être configuré de façon à exécuter des scripts supplémentaires après l'exécution du workflow Firstboot. Pour ajouter des scripts à la séquence Firstboot, procédez comme suit :
Ouvrez le fichier de configuration
/etc/sysconfig/firstboot
et assurez-vous que le chemin spécifié pourSCRIPT_DIR
est correct. La valeur par défaut est/usr/share/firstboot/scripts
.Créez votre script shell, stockez-le dans le répertoire spécifié, puis appliquez les autorisations du fichier appropriées.
20.2.6 Élaboration des traductions du workflow d'installation #
Selon l'utilisateur final, il peut être souhaitable de proposer des traductions du workflow personnalisé. Ces traductions peuvent s'avérer nécessaires si vous avez personnalisé le workflow en modifiant le fichier /etc/YaST2/firstboot.xml
, comme décrit à la Section 20.2.4, « Personnalisation du workflow ».
Si vous avez modifié /etc/YaST2/firstboot.xml
et introduit des modifications de chaîne, générez un nouveau fichier modèle de traduction (fichier .pot
) et utilisez la chaîne d'outils gettext
pour traduire et enfin installer les fichiers traduits dans les répertoires de paramètres régionaux YaST (/usr/share/YaST2/locale
) en tant que fichiers .mo
compilés. Procédez de la façon suivante :
Par exemple, modifiez le paramètre
textdomain
de :<textdomain>firstboot</textdomain>
à :
<textdomain>firstboot-oem</textdomain>
Utilisez
xgettext
pour extraire les chaînes traduisibles du fichier modèle de traduction (fichier.pot
), par exemple dansfirstboot-oem.pot
:xgettext -L Glade -o firstboot-oem.pot /etc/YaST2/firstboot.xml
Démarrez le processus de traduction. Ensuite, empaquetez les fichiers traduits (fichiers
.LL_code.po
) de la même manière que les traductions des autres projets et installez les fichiersfirstboot-oem.mo
compilés.
Si vous avez besoin de traductions pour des modules YaST supplémentaires ou modifiés, fournissez-les sous forme de module. Si vous avez modifié un module existant, veillez à modifier également son instruction de domaine texte pour éviter tout effet secondaire indésirable.
Pour plus d'informations sur le développement de YaST, visitez le site https://en.opensuse.org/openSUSE:YaST_development. Vous trouverez des informations détaillées sur YaST Firstboot sur le site https://doc.opensuse.org/projects/YaST/SLES11/tdg/bk09ch01s02.html.
20.3 Clonage de l'installation principale #
Clonez le disque de la machine principale en utilisant l'un des mécanismes de création d'images disponibles et déployez ces images sur les machines cibles. Pour plus d'informations sur la création d'images, consultez la page https://doc.suse.com/kiwi/.
20.4 Personnalisation de l'installation #
Une fois l'image du disque cloné démarrée, Firstboot se lance et l'installation se poursuit comme indiqué dans la Section 20.2.4, « Personnalisation du workflow ». Seuls les composants inclus dans la configuration du workflow Firstboot sont démarrés. Toutes les autres étapes de l'installation sont ignorées. L'utilisateur final définit les paramètres de langue, de clavier, de réseau et de mot de passe pour personnaliser le poste de travail. Une fois ce processus terminé, un système installé par Firstboot se comporte comme toute autre instance de SUSE Linux Enterprise Server.