Gestion des services système dans Oracle® Solaris 11.2

Quitter la vue de l'impression

Mis à jour : Juillet 2014
 
 

Procédure de création d'un service SMF à l'aide de l'outil de génération de bundles de services

Cette procédure montre comment créer un service personnalisé existant qui utilise un script en tant que la méthode start.

  1. Déterminer le modèle.

    Par défaut, svcbundle crée un service transient. Determiner si le script de méthode de démarrage de ce service démarre un démon au long cours et si c'est un service contract. Pour plus d'informations sur les modèles de service, reportez-vous à la section Modèles de service et la page de manuel svc.startd(1M).

  2. Copiez le script dans l'emplacement standard.

    Dans cet exemple, le script de méthode de démarrage pour ce service est appelé ex_svc. Copiez ce script vers /lib/svc/method/ex_svc.

  3. Créez un manifeste.

    Dans cet exemple, le nom du service est site/ex_svc. Il s'agit d'un service transitoire qui n'a pas besoin de méthode d'arrêt.

    $ svcbundle -o /tmp/ex_svc.xml -s service-name=site/ex_svc \
          -s start-method=/lib/svc/method/ex_svc
  4. Apportez les modifications nécessaires au manifeste.

    Vérifiez que le contenu du manifeste /tmp/ex_svc.xml correspond à vos besoins. Ajouter des commentaires, le cas échéant.

  5. Vérifiez si le manifeste est valide.

    Utilisez la commande svccfg validate pour vous assurer que le manifeste de service est valide.

  6. Copiez le manifeste dans le répertoire standard.
    $ cp /tmp/ex_svc.xml /lib/svc/manifest/site/ex_svc.xml
  7. Importez le manifeste et copiez le service.
    $ svcadm restart manifest-import
Exemple 5-1  Installation automatique d'un manifeste généré

Si vous n'avez pas besoin de saisir des modifications à ce nouveau manifeste de service, vous pouvez utiliser l'option -i pour installer le manifeste dès sa création. La commande svcbundle écrit le manifeste vers /lib/svc/manifest/site et redémarre le service manifest-import. Tout fichier du même nom dans le répertoire /lib/svc/manifest/site sera écrasé.

# svcbundle -i -s service-name=site/ex_svc \
	-s start-method=/lib/svc/method/ex_svc