Les scripts peuvent personnaliser l'archive. Vous trouverez ci-dessous les différentes fonctions des scripts :
Le script préalable à la création valide l'archive lors de sa création et la prépare en vue d'une personnalisation. Ce type de script concerne essentiellement les archives différentielles et permet également de créer une section utilisateur dans l'archive.
Le script de déploiement préalable valide l'archive lors de son installation et la prépare en vue d'une personnalisation.
Le script de déploiement ultérieur reconfigure une nouvelle image système sur un système clone.
Le script de réinitialisation exécute une reconfiguration finale après réinitialisation du système.
Pour créer des scripts, reportez-vous à la section Directives pour la création d'un script de personnalisation.
Ce script s'exécute pendant la création de l'archive. Il possède diverses fonctions.
Validation du contenu ainsi que de l'intégrité du logiciel. En cas de rupture de l'intégrité, il provoque l'échec du processus de création de l'archive.
Préparation des produits en vue de leur personnalisation sur le système clone.
Enregistrement dynamique d'autres scripts d'installation lors de la création de l'archive.
Ajout d'un message au fichier récapitulatif de la création flash. Ce message doit être court et faire uniquement état du démarrage et de la finalisation des scripts, ainsi que des résultats obtenus. Ceux-ci peuvent être visualisés dans la section récapitulative.
Créez ce script, Suivez les indications données dans la section Directives pour la création d'un script de personnalisation.
Stockez le script dans le répertoire /etc/flash/precreation .
Voici quelques exemples de séquences obtenues à partir d'un script de ce type.
L'exemple ci-dessous permet de consigner l'heure de début dans la section récapitulative :
echo "MyApp precreation script started">> $FLASHDIR/summary
La commande flcheck permet de vérifier l'intégrité du logiciel et ne peut pas être utilisée dans la ligne de commande. Sa syntaxe est la suivante :
flcheck fichiers et répertoires des composants logiciels ...| - |
Par exemple, pour valider les fichiers et répertoires, entrez :
flcheck fichiers et répertoires des composants logiciels If Not in selection - refuse creation echo "Myapp Integrity Damage">>$FlashDIR/summary
Ou suivez l'exemple ci-dessous pour conserver les nouveaux fichiers et répertoires inattendus et éviter que la création de l'archive échoue :
flcheck fichiers et répertoires des composants logiciels If Not in selection include by force flinclude composants_logiciels
Suivez l'exemple ci-dessous pour enregistrer les scripts et données de déploiement.
Suivez l'exemple ci-dessous pour visualiser des données spécifiques à l'application dans la section utilisateur.
cp section personnalisée $FLASHDIR/custom_sections/MyApp
Suivez l'exemple ci-dessous pour consigner le succès de l'installation dans la section récapitulative.
echo "product one flash preparation started." >>$FLASH_DIR/summary ... echo "product one flash preparation finished successfully">>$FLASH_DIR/summary
#!/bin/sh echo "Test precreation script started" >> $FLASH_DIR/summary cat /opt/TestApp/critical_file_list | flcheck - if [ $? != 0 ]; then echo "Test precreation script failure" >> $FLASH_DIR/summary exit 1 if echo "Test precreation script started" >> $FLASH_DIR/summary /opt/TestApplication/license_cloning $FLASH_DIR/predeployment/.TestApplicationLicenceTransfer \ $FLASH_DIR/custom_sections/TestApplicationLicenceCounter echo "Test precreation script finished" >> $FLASH_DIR/summary exit 0
Un script préalable gère la création d'une section utilisateur dans l'archive, afin de fournir des informations spécifiques à l'application. Cette section a pour objet la maintenance de l'archive. Le script doit être inséré dans le répertoire $FLASH_DIR/sections. L'archive Solaris Flash ne gère pas le traitement d'une section utilisateur. Exemple : une section peut contenir une description de l'archive ou un script permettant de vérifier l'intégrité d'une application.
Une section utilisateur :
Doit être orientée ligne.
Doit se terminer par des caractères d'interligne (ASCII 0x0a).
Peut posséder des lignes individuelles d'une longueur illimitée.
Doit encoder les données binaires à l'aide d'un algorithme base64 ou similaire.
Ce script est exécuté préalablement à l'installation de l'archive. S'il doit permettre de valider l'archive, il est conservé dans celle-ci. S'il doit servir à préserver les configurations locales sur le système clone, il est conservé sur le système clone. Ce type de script permet également d'analyser et de collecter des données locales nécessaires à une personnalisation ultérieure. Exemple : les informations spécifiques au client peuvent être sauvegardées avant d'être écrasées par les fichiers qui sont sur le point d'être extraits. Ces informations peuvent alors être utilisées en dernière instance après l'extraction.
Créez le script de déploiement préalable, Suivez les indications données dans la section Directives pour la création d'un script de personnalisation.
Stockez le script dans l'un des répertoires suivants :
Pour valider l'archive, stockez-la dans le répertoire /etc/flash/predeployment.
Si vous effectuez un référencement à l'aide d'un script préalable à la création, stockez ce dernier dans le répertoire $FLASH_DIR/preinstall.
Si vous conservez des configurations sur un système clone, indiquez le chemin d'accès au script qui est stocké sur ce système clone, à l'aide du mot-clé local_customization dans le profil JumpStart.
#!/bin/sh $FLASH_DIR/TestApplication/check_hardware if [ $? != 0 ]; then echo Unsupported hardware exit 1 fi $FLASH_DIR/TestApplication/check_licence_key if [ $? != 0 ]; then echo No license for this host exit 1 fi $FLASH_DIR/TestApplication/deploy_license_key \ $FLASH_DIR/TestApplication/.TestApplicationLicenceTransfer $FLASH_DIR/TestApplication/save_data_files $FLASH_DIR/flash exit 0
Ce script est conservé dans l'archive ou stocké dans un répertoire local du système clone et s'exécute après l'installation. Il reconfigure une nouvelle image du système sur un système clone. S'il est stocké dans l'archive, les modifications s'appliquent à tous les systèmes clone. En revanche, s'il est stocké dans un répertoire local sur le système clone, les modifications n'affectent que ce système clone. Exemple : les informations spécifiques au client qui sont sauvegardées par un script de déploiement préalable peuvent être appliquées à l'environnement clone en achevant l'installation.
Les scripts de déploiement ultérieur peuvent également être utilisés pour nettoyer les fichiers après installation de l'archive. Exemple : il est possible de nettoyer les fichiers journaux se trouvant dans le répertoire /var/adm .
certains fichiers journaux peuvent être nettoyés sans l'aide d'un script. Les journaux figurant dans le répertoire /var/tmp peuvent être exclus après la création de l'archive.
Créez le script de déploiement ultérieur, Suivez les indications données dans la section Directives pour la création d'un script de personnalisation.
Stockez le script dans l'un des répertoires suivants :
Pour que le script agisse sur tous les systèmes clones, stockez-le dans le répertoire /etc/flash/postdeployment.
Pour qu'il n'affecte qu'un système clone local, indiquez le chemin d'accès du script qui est stocké sur le système clone à l'aide du mot-clé local_customization dans le profil JumpStart.
#!/bin/sh $FLASH_DIR/TestApplication/clone_reconfiguration $FLASH_DIR/TestApplication/restore_data $FLASH_DIR/flash
Ce script est conservé dans l'archive et s'exécute après réinitialisation du système. Il se charge de toute configuration finale ayant lieu après la reconfiguration du système.
Après avoir installé l'archive Solaris Flash sur un système clone, certains fichiers spécifiques à l'hôte sont effacés et recréés pour la machine clone. Le programme d'installation utilise la commande sys-unconfig(1M) et les programmes sysidtool(1M) pour supprimer et recréer des fichiers de configuration réseau spécifiques à l'hôte. Les fichiers qui ont été recrées comprennent notamment les répertoires /etc/hosts, /etc/defaultrouter et /etc/defaultdomain. Vous pouvez utiliser le script de réinitialisation pour effectuer toutes sortes de reconfigurations finales.
#!/bin/sh $FLASH_DIR/TestApplication/finalize_license