La façon la plus simple de créer ce service est d'utiliser la commande svcbundle, comme indiqué dans la section Utilisation de l'outil de création de manifeste.
Définissez une propriété de fin booléenne dans le manifeste de service et définissez sa valeur sur false. Reportez-vous à la propriété completed dans le manifeste dans l'Example 13–3.
La commande svccfg permet de définir la propriété completed sur true à la fin du script. La commande svcadm permet d'actualiser le service avec la nouvelle valeur de propriété. Reportez-vous à la fin de l'exemple de script dans l'Example 13–1.
Dans le manifeste du service, l'instance de service par défaut a été créée et activée. Le service est désactivé dans le script. Lorsque vous quittez votre script de première initialisation, utilisez le code de sortie SMF_EXIT_TEMP_DISABLE pour quitter la méthode start du service et désactiver temporairement le service. Le service est désactivé et la méthode stop du service ne s'exécute pas.
La désactivation temporaire du service est préférable pour désactiver le service de manière permanente de sorte que le service puisse être réactivé plus facilement. Dans certains cas, le script (et par conséquent le service) doit être exécuté à nouveau pour mettre à jour le travail de configuration effectué, tel que le clonage de zones ou la migration. Si le service est désactivé de manière permanente, la commande svcadm enable doit être exécutée pour réactiver le service.
La désactivation du service est également préférable à son maintien en ligne. Un service en ligne peut apparaître comme effectuant un travail à chaque réinitialisation. Dans cet exemple, le nom du service est site/first-boot-script-svc. Une fois le client initialisé, vous pouvez constater que l'état du service est disabled :
$ svcs first-boot-script-svc STATE STIME FMRI disabled 8:24:16 svc:/site/first-boot-script-svc:default