Guide d'installation Solaris 9

Chapitre 25 Création de mots-clés de règles et de sondes personnalisés - 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ègles est une unité lexicale ou un mot prédéfini qui décrit l'attribut général d'un système, son 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 donné, par exemple, ne figurent dans SI_INSTALLED que si vous avez spécifié le mot-clé installed.

Vous devrez parfois extraire ces informations d'un script de début ou de fin dans un but autre que la recherche d'un système et l'exécution d'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 consulter la liste des mots-clés de sondes et de leurs valeurs, reportez-vous à la section "Mots-clés et valeurs des sondes".

Création d'un fichier custom_probes

Si les mots-clés de règles et de sondes décrits dans les sections "Mots-clés et valeurs des règles" et "Mots-clés et valeurs des sondes" ne sont pas suffisamment précis pour l'utilisation que vous souhaitez en faire, vous pouvez définir vos propres mots-clés de règles ou de sondes 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. Voici 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, l'argument interprété est celui qui suit le mot-clé et qui se termine avant le script suivant && ou le script de début, en fonction de celui qui arrive en premier.


Le fichier custom_probes doit répondre aux critères suivants :

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 des fonctions 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.

Pour créer un fichier custom_probes

  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 interprétés en séquence sont ceux qui suivent le mot-clé et qui se terminent avant le script suivant && ou le script de début, en fonction de celui qui arrive en premier.


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

  4. Vérifiez que le fichier rules dépend de root et que le degré de permissions est réglé sur 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 25-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
  fi
}

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 sondes au début du fichier rules ou du moins dans les premières lignes pour garantir que ces mots-clés seront lus et exécutés avant d'éventuels mots-clés de règles dépendant des mots-clés de sondes.



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

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

Validation d'un fichier custom_probes

Pour pouvoir utiliser un fichier de profil, un fichier rules ou un fichier custom_probes, vous devez d'abord exécuter le script check pour valider la configuration de ces fichiers. Si l'ensemble des profils, des règles ainsi que des fonctions de sonde et de comparaison sont définis correctement, le programme crée automatiquement les fichiers rules.ok et custom_probes.ok. Le Tableau 25-1 décrit le fonctionnement du script check.

Tableau 25-1 Conséquences de l'utilisation du script check

Etape 

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 vierges, et conserve les commandes shell, les variables et algorithmes Bourne. Ensuite, check ajoute le commentaire suivant à la fin :

# version=2 checksum=num

Pour valider votre fichier custom_probes

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


    Remarque :

    Le script check se trouve dans le répertoire Solaris_9/Misc/jumpstart_sample du DVD Solaris 9 ou du logiciel Solaris 9 1 sur 2.


  2. Accédez au répertoire JumpStart.

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


    $ ./check [[-p chemin -r nom_fichier]]

    -p chemin

    Valide le fichier custom_probes à l'aide du script check à partir de l'image de Solaris 9 de votre plate-forme au lieu du script check du système que vous utilisez. chemin est l'image qui figure sur un disque local ou sur le DVD Solaris 9 ou le logiciel Solaris 9 1 sur 2 monté.

    Utilisez cette option pour exécuter la version la plus récente de check si la version de Solaris installée sur votre système n'est pas la plus récente.

    -r nom_fichier

    Spécifie un autre nom de fichier que celui du 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.

    Lors de l'exécution du script check, celui-ci émet des rapports sur la validité des fichiers rules et custom_probes, et de chaque profil. S'il ne rencontre aucune erreur, le script signale : "The custom JumpStart configuration is ok" et crée les fichiers rules.ok et custom_probes.ok dans le répertoire JumpStart.

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

    • Dans l'affirmative, allez à l'Étape 5.

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

      chmod +x custom_probes

  5. Vérifiez que le fichier custom_probes.ok dépend de root et que le degré de permission est établi sur 755.