Guide d'installation Solaris 10 : Installation JumpStart personnalisée et installation avancée

Chapitre 8 Création d'une règle personnalisée et de mots-clés de sondes (Tâches)

Ce chapitre aborde la création de mots-clés de règles et de sondes personnalisés, ainsi que la procédure à suivre.

Mots-clés de sondes

Pour bien comprendre ce que sont les mots-clés de sondes, il est important d'avoir assimilé ce que sont les mots-clés de règles. Un mot-clé de règle est une unité lexicale ou un mot prédéfini qui décrit l'attribut général d'un système, le nom d'hôte, hostname, ou la taille de sa mémoire, memsize, par exemple. Les mots-clés de règles, ainsi que les valeurs qui y sont associées, vous permettent d'établir une correspondance entre un profil et un système doté d'un attribut similaire. C'est en établissant de telles correspondances entre attributs que l'on installe le logiciel Solaris sur chaque système d'un groupe donné.

Les variables environnementales de la méthode JumpStart personnalisée, utilisées dans les scripts de début et de fin, sont définies à la demande. Les informations relatives au système d'exploitation installé sur un système, par exemple, ne figurent dans SI_INSTALLED que si vous avez défini le mot-clé de règle installed.

Dans certains cas, vous devez extraire les mêmes informations dans un script de début ou de fin dans un but autre que de rechercher un système ou d'exécuter un profil. Les mots-clés de sondes apportent la solution. Ils extraient les informations d'attribut sans que vous ayez à définir une condition de correspondance pour exécuter un profil.

Pour la liste des mots-clés de sondes et des valeurs, reportez-vous à la section Mots-clés et valeurs des sondes.

Création d'un fichier custom_probes

Les mots-clés de sondes et de règles décrits dans les sections Mots-clés et valeurs des règles et Mots-clés et valeurs des sondes peuvent ne pas être suffisamment précis pour vos besoins. Vous pouvez définir vos propres mots-clés personnalisés en créant un fichier custom_probes.

Le fichier custom_probes est un script de shell Bourne qui comporte deux types de fonctions. Vous devez impérativement enregistrer votre fichier custom_probes et votre fichier rules dans un même répertoire JumpStart. Vous trouverez ci-dessous les deux types de fonctions que vous pouvez définir dans un fichier custom_probes.

Syntaxe du fichier custom_probes

Votre fichier custom_probes peut comporter n'importe quel commande, variable ou algorithme de shell Bourne valide.


Remarque –

vous pouvez définir des fonctions de sonde et de comparaison nécessitant un seul argument dans votre fichier custom_probes. Lorsque vous utilisez le mot-clé de sonde personnalisé correspondant du fichier rules, l'argument qui suit le mot-clé est interprété (comme $1).

Lorsque vous utilisez le mot-clé de règle personnalisé correspondant du fichier rules, les arguments sont interprétés en séquence. La séquence commence après le mot-clé er s'arrête avant le prochain && ou script de début, selon que l'un ou l'autre est le premier élément.


Le fichier custom_probes doit remplir les conditions suivantes :

Dans un souci de clarté et d'organisation, définissez d'abord toutes vos fonctions de sonde en début de fichier, puis l'ensemble des fonctions de comparaison.

Syntaxe des noms de fonction dans custom_probes

Le nom d'une fonction de sonde doit commencer par probe_. Le nom d'une fonction de comparaison doit commencer par cmp_.

Les fonctions qui commencent par probe_ définissent de nouveaux mots-clés de sondes. La fonction probe_tcx, par exemple, définit le nouveau mot-clé de sonde tcx. Les fonctions qui commencent par cmp_ définissent de nouveaux mots-clés de règles. cmp_tcx, par exemple, définit le nouveau mot-clé de règle tcx .

ProcedureCréation d'un fichier custom_probes

Étapes
  1. Créez un fichier texte de script de shell Bourne dans l'éditeur de texte de votre choix. Nommez ce fichier custom_probes.

  2. Dans votre fichier texte custom_probes, définissez vos fonctions de sonde et de comparaison.


    Remarque –

    vous pouvez définir des fonctions de sonde et de comparaison nécessitant des arguments dans le fichier custom_probes. Lorsque vous utilisez le mot-clé de sonde personnalisé correspondant du fichier rules, les arguments qui suivent le mot-clé sont interprétés en séquence (comme $1, $2 et ainsi de suite).

    Lorsque vous utilisez le mot-clé de règle personnalisé correspondant du fichier rules, les arguments sont interprétés en séquence. La séquence commence après le mot-clé et prend fin avant le prochain && ou le script de début, le premier des deux prévalant.


  3. Enregistrez votre fichier custom_probes dans le répertoire JumpStart à côté du fichier rules.

  4. Vérifiez que root est propriétaire du fichier rules et que le niveau des autorisations est 644.

Exemples de fichiers et de mots-clés custom_probes

Vous pouvez définir d'autres exemples de fonctions de sonde et de comparaison dans les répertoires suivants :

Le fichier custom_probes suivant comporte une fonction de sonde et de comparaison qui teste la présence d'une carte graphique TCX.


Exemple 8–1 custom_probes File

#!/bin/sh
# 
# custom_probe script to test for the presence of a TCX graphics card.
# 

# 
# PROBE FUNCTIONS
# 
probe_tcx() {
  SI_TCX=`modinfo | grep tcx | nawk '{print $6}'`
  export SI_TCX
}

# 
# COMPARISON FUNCTIONS
# 
cmp_tcx() {
  probe_tcx

  if [ "X${SI_TCX}" = "X${1}" ]; then
     return 0
  else
     return 1
  if
}

Le fichier rules suivant illustre l'utilisation du mot-clé de sonde défini dans l'exemple précédent, tcx. En cas de détection d'une carte graphique TCX installée sur un système, profile_tcx s'exécute. Sinon, c'est profile qui s'exécute.


Remarque –

placez toujours les mots-clés de sonde au début du fichier rules ou tout du moins dans les premières lignes. Cette position assure que les mots-clés sont lus et exécutés avant que d'autres mots-clés de règle ne dépendent des mots-clés de sonde.



Exemple 8–2 Mot-clé de sonde personnalisé utilisé dans un fichier rules

probe tcx
tcx     tcx     -     profile_tcx     -
any     any     -     profile         -

Validation du fichier custom_probes

Pour pouvoir utiliser un profil, le fichier rules et le fichier custom_probes, vous devez exécuter le script check pour indiquer que les fichiers sont correctement définis. Si tous les profils, règles et fonctions de sondes et de comparaison sont définis correctement, le programme crée les fichiers rules.ok et custom_probes.ok. Le Tableau 8–1 explique la fonction du script check.

Tableau 8–1 Opérations exécutées par le script check

Transfert 

Description 

check recherche un fichier nommé custom_probes.

Si le fichier existe, check crée le fichier custom_probes.ok à partir du fichier custom_probes, supprime tous les commentaires et les lignes blanches et conserve tous les commandes, variables et algorithmes du Bourne shell. Ensuite, check ajoute le commentaire suivant à la fin :

# version=2 checksum=num

ProcedureValidation du fichier custom_probes

Étapes
  1. Vérifiez que le script check figure dans le répertoire JumpStart.


    Remarque –

    Le script check se trouve dans le répertoire Solaris_10/Misc/jumpstart_sample du DVD du système d'exploitation Solaris ou du CD Logiciel Solaris - 1.


  2. Remplacement par le répertoire JumpStart.

  3. Exécutez le script check pour valider les fichiers rules et custom_probes.


    $ ./check -p path -r file_name
    
    -p path

    Valide le fichier custom_probes en utilisant le script check de l'image logicielle Solaris de votre plate-forme à la place du script check du système que vous utilisez. chemin est l'image qui figure sur un disque local ou sur le DVD du système d'exploitation Solaris ou le Logiciel Solaris - 1 monté.

    Utilisez cette option pour exécuter la dernière version de check si votre système utilise une version précédente de Solaris.

    -r nom_fichier

    Définit un nom de fichier autre que le fichier custom_probes. L'utilisation de l'option - r vous permet de tester la validité d'un ensemble de fonctions avant d'intégrer celles-ci dans le fichier custom_probes.

    Au cours de son exécution, le script check indique la validité des fichiers rules et custom_probes et de chaque profil. S'il ne rencontre aucune erreur, le script signale : “Configuration JumpStart personnalisée correcte” ; création des fichiers rules.ok et custom_probes.ok dans le répertoire JumpStart.

  4. Déterminez si le fichier custom_probes.ok est exécutable.

    • S'il l'est, reportez-vous à l'Étape 5.

    • Dans la négative, entrez la commande suivante :


      # chmod +x custom_probes
      
  5. Vérifiez que root est propriétaire du fichier custom_probes.ok et que le niveau des permissions est 755.