Ignorer les liens de navigation | |
Quitter l'aperu | |
![]() |
Installation des systèmes Oracle Solaris 11.1 Oracle Solaris 11.1 Information Library (Français) |
Partie I Options d'installation Oracle Solaris 11.1
1. Présentation des options d'installation
Partie II Installation à partir du média d'installation
2. Préparation à l'installation
4. Utilisation du programme d'installation en mode texte
5. Installations automatisées initialisées à partir d'un média
6. Annulation de la configuration ou reconfiguration d'une instance Oracle Solaris
Partie III Installation à l'aide d'un serveur d'installation
7. Installation automatisée de plusieurs clients
8. Configuration d'un serveur d'installation
9. Personnalisation des installations
10. Approvisionnement du système client
11. Configuration du système client
12. Installation et configuration des zones
13. Exécution d'un script personnalisé lors de la première initialisation
Implémentation des contrôles d'exécution unique à la première initialisation
Procédure d'exécution unique à la première initialisation
Création d'un fichier manifeste SMF
Utilisation de l'outil de création de manifeste
Personnalisation du manifeste généré
Création d'un package IPS pour le script et le service
Création et publication du package IPS
Installation du package de première initialisation sur le client AI
Test du service de première initialisation
Mise à jour du script ou du service
14. Installation de systèmes clients
15. Dépannage des installations automatisées
Partie IV Exécution de tâches connexes
A. Utilisation d'Oracle Configuration Manager
Pour savoir quelle source vous pouvez utiliser pour votre script, vous devez savoir quels outils sont installés sur le système client lors de la première initialisation. Le package solaris-large-server est installé par défaut. Si vous avez installé ce package de groupe, vous disposez de Python, bash, ksh et d'autres outils disponibles à la première initialisation. Pour obtenir la liste complète des packages inclus dans le package de groupe solaris-large-server, servez-vous de la commande pkg contents comme décrit dans la section Etablissement de la liste de tous les packages installables dans un package de groupe du manuel Ajout et mise à jour de packages logiciels Oracle Solaris 11.1. Si vous souhaitez utiliser une source pour votre script qui n'est pas disponible dans le package solaris-large-server, identifiez le package dont vous avez besoin et spécifiez-le dans le manifeste AI. Pour savoir comment rechercher les noms d'autres packages que vous êtes susceptible de vouloir installer, reportez-vous à la section Ajout et mise à jour de packages logiciels Oracle Solaris 11.1.
Astuce -
N'utilisez qu'un seul script de première initialisation afin d'éviter d'avoir différentes commandes dans différents scripts entrent en conflit.
N'effectuez pas de réinitialisation dans le script de première initialisation.
Exemple 13-1 Modèle de script de première initialisation
Cet exemple montre des opérations qui doivent être effectuées dans tout script de première initialisation.
Un script de première initialisation doit charger /lib/svc/share/smf_include.sh afin d'utiliser des définitions telles que des codes de sortie de méthode SMF.
Le script doit tester s'il a déjà été exécuté lors d'une initialisation précédente. Si la propriété completed est déjà définie sur true, quittez la méthode start et désactivez temporairement le service.
La ligne suivante du script obtient la valeur de la propriété completed du groupe de propriétés config de l'instance de service site/first-boot-script-svc:default et assigne cette valeur à la variable completed locale.
completed=`svcprop -p config/completed site/first-boot-script-svc:default`
La ligne suivante du script envoie le code de sortie SMF_EXIT_TEMP_DISABLE à la méthode start du service, avec method_completed comme motif court de la sortie et "Configuration completed" comme description plus longue du motif de la sortie.
smf_method_exit $SMF_EXIT_TEMP_DISABLE script_completed "Configuration completed"
Un script de première initialisation doit enregistrer une copie de l'environnement d'initialisation qui vient d'être créé par l'installation AI. L'enregistrement d'une copie d'environnement d'initialisation avant que le script de première initialisation ne le modifie permet une récupération facile des éventuels problèmes introduits par le script en effectuant une initialisation dans l'environnement d'initialisation enregistré.
Lorsque le script a terminé son travail, il doit définir la valeur de la propriété completed sur true, actualiser le service avec la nouvelle valeur de propriété, quitter la méthode start et désactiver temporairement le service. La commande svccfg permet de définir la propriété completed sur true et la commande svcadm permet d'actualiser le service.
N'oubliez pas que par défaut, sh est ksh93.
#!/bin/sh # Load SMF shell support definitions . /lib/svc/share/smf_include.sh # If nothing to do, exit with temporary disable completed=`svcprop -p config/completed site/first-boot-script-svc:default` [ "${completed}" = "true" ] && \ smf_method_exit $SMF_EXIT_TEMP_DISABLE completed "Configuration completed" # Obtain the active BE name from beadm: The active BE on reboot has an R in # the third column of 'beadm list' output. Its name is in column one. bename=`beadm list -Hd|nawk -F ';' '$3 ~ /R/ {print $1}'` beadm create ${bename}.orig echo "Original boot environment saved as ${bename}.orig" # Place your one-time configuration tasks here # Record that this script's work is done svccfg -s site/first-boot-script-svc:default setprop config/completed = true svcadm refresh site/first-boot-script-svc:default smf_method_exit $SMF_EXIT_TEMP_DISABLE method_completed "Configuration completed"
Exemple 13-2 Script de première initialisation qui configure plusieurs interfaces IP
Cet exemple montre un script de première initialisation nommé first-boot-script.sh qui configure les adresses sur deux interfaces IP et ajoute une route par défaut.
#!/bin/sh # Load SMF shell support definitions . /lib/svc/share/smf_include.sh # If nothing to do, exit with temporary disable completed=`svcprop -p config/completed site/first-boot-script-svc:default` [ "${completed}" = "true" ] && \ smf_method_exit $SMF_EXIT_TEMP_DISABLE completed "Configuration completed" # Obtain the active BE name from beadm: The active BE on reboot has an R in # the third column of 'beadm list' output. Its name is in column one. bename=`beadm list -Hd|nawk -F ';' '$3 ~ /R/ {print $1}'` beadm create ${bename}.orig echo "Original boot environment saved as ${bename}.orig" # Create and configure addresses on two IP interfaces /usr/sbin/ipadm create-ip net0 /usr/sbin/ipadm create-ip net1 /usr/sbin/ipadm create-addr -a 10.153.125.222/24 net0 /usr/sbin/ipadm create-addr -a 169.254.182.77/24 net1 # Add a default route with net0 as the gateway /usr/sbin/route add default 10.153.125.1 -ifp net0 # Record that this script's work is done svccfg -s site/first-boot-script-svc:default setprop config/completed = true svcadm refresh site/first-boot-script-svc:default smf_method_exit $SMF_EXIT_TEMP_DISABLE method_completed "Configuration completed"