Ignorer les liens de navigation | |
Quitter l'aperu | |
Installation des systèmes Oracle Solaris 11 Oracle Solaris 11 Information Library (Français) |
Partie I Options d'installation Oracle Solaris 11
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
Création d'un script à exécuter à la première initialisation du système
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
Créez un fichier manifeste SMF qui définit un service transitoire qui exécute un script.
La propriété duration près de la fin de l'exemple de manifeste de service ci-dessous a la valeur transient. Un service transitoire exécute la méthode start une seule fois et ne l'exécute pas une nouvelle fois si la méthode est fermée avec $SMF_EXIT_OK. Le démon svc.startd n'essaie pas de redémarrer le script après sa première exécution.
La méthode start du service exécute le script de première initialisation.
Le nom du service dans cet exemple est site/first-boot-script-svc . Une fois le client initialisé, vous pouvez voir le service dans la sortie de la commande suivante :
$ svcs -a|grep first-boot-script STATE STIME FMRI disabled 13:51:42 svc:/site/first-boot-script-svc:default
Cet exemple spécifie la dépendance multi-user pour assurer que le script de première initialisation s'exécute tard dans la séquence d'initialisation après la première initialisation. En fonction des actions du script de première initialisation, il est possible que vous n'ayez pas besoin d'une telle dépendance. Si vous ne spécifiez pas ce type de dépendance, le script peut s'exécuter avant que le système soit configuré comme l'attend le script.
Astuce - Evaluez les dépendances de votre script et construisez le service pour qu'il exécute le script après que ses dépendances soient satisfaites.
Exemple 13-2 Exemple de manifeste de service SMF
Le fichier suivant est le fichier manifeste SMF pour le service first-boot-script-svc : first-boot-script-svc-manifest.xml. Ce service est activé par défaut et n'est pas redémarré. Le script que le service exécute dans cet exemple est /opt/site/first-boot-script.sh.
<?xml version="1.0"?> <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1"> <service_bundle type='manifest' name='first-boot-script:site-first-boot-script-svc'> <service name='site/first-boot-script-svc' type='service' version='1'> <create_default_instance enabled='true' /> <single_instance /> <!-- Run the script late in the startup sequence after first boot. --> <dependency name='multi-user' grouping='require_all' restart_on='none' type='service'> <service_fmri value='svc:/milestone/multi-user:default' /> </dependency> <exec_method type='method' name='start' exec='/opt/site/first-boot-script.sh' timeout_seconds='360'> <method_context> <method_credential user='root'/> </method_context> </exec_method> <exec_method type='method' name='stop' exec=':true' timeout_seconds='60' /> <property_group name='startd' type='framework'> <propval name='duration' type='astring' value='transient' /> </property_group> </service> </service_bundle>