%
Puffy image/svg+xml Puffy 2019-06-14 Stéphane HUC OpenBSD Team Inkscape Puffy OpenBSD https://www.openbsd.org/art4.html English "Puffy", it's a symbol of OpenBSD

rcctl : configurer et contrôler les services sous OpenBSD

Article publié, le et modifié le
4 minutes de lecture

Cet article contient 790 mots.
Source brute de l'article :
Commit version : 592a9b4

Utilisation

Pour rappel, voici les usages les plus courants :

Activer

  • rcctl enable service

Désactiver

  • rcctl disable service

Démarrer

  • rcctl start service

Redémarrer

  • rcctl restart service

Recharger

  • rcctl reload service

Arrêter

  • rcctl stop service

Paramétrer

Pour configurer un service avec certains drapeaux au démarrage de celui-ci :

  • rcctl set service flags nom_drapeau valeur_drapeau…

Il peut y avoir sans soucis plusieurs drapeaux et leurs valeurs se suivant, sans soucis.

Pour connaître les noms des drapeaux d’un service, il est impératif de lire le manpage correspondant.

Ordonner

Certains services doivent démarrés avant d’autres, il faut donc les spécifier les uns devant les autres :

  • rcctl order service1 service2 service…

Documentation

man 8 rcctl

Synopsis

  • rcctl get|getdef|set service | daemon [variable [arguments]]
  • rcctl [-df] action daemon
  • rcctl disable|enable|order [daemon ]
  • rcctl ls lsarg

Description

L’utilitaire rcctl peut activer ou désactiver un service du système de base ou un démon d’un paquet dans rc.conf.local(8) ou afficher sa configuration et son statut. Pour un démon, il peut aussi changer les arguments de ligne de commande, l’utilisateur avec lequel l’exécuter, le délai “timeout” d’action de rc.d(8) ou appeler son script de contrôle du démon rc.d(8).

Les commandes suivantes sont disponibles (variable peut être de type class, flags, status, timeout ou user) :

  • [-df] action daemon : exécute les scripts du démon rc.d(8) avec l’argument action, passant par dessus les options spécifiées, s’il y en a.
  • disable service | daemon : alias de set service|daemon status off.
  • enable service | daemon : alias de set service|daemon status on.
  • get service | daemon [variable] : affiche la valeur du service ou démon. Si variable est vide, affiche toutes les variables et valeurs du service ou du démon dans un format compatible avec rc.conf(8). Lorsque daemon est paramétré sur “al”, variable ne doit pas être configurée et rcctl affichera toutes les variables des services et démons.
  • getdef service | daemon [variable] : tout comme get mais retourne les valeurs par défaut.
  • ls lsarg : affiche une liste de services et démons correspondant à lsarg, qui peut être un des suivants :
    • all : tous les services et démons
    • failed : les démons activés mais arrêtés
    • off : les services et démons désactivés
    • on : les services et démons activés
    • started : les démons fonctionnant
    • stopped : les démons stoppés
  • order [daemon ] : place les démons du paquet spécifiés au commencement de pkg_scripts. Ils doivent être toujours activés. Si aucun démon n’est spécifié, affiche l’ordre actuel. La commande order est seulement nécessaire après l’activation d’un démon qui a besoin d’être exécuté avant un ou plusieurs démons déjà actifs. Spécifiez le nouveau démon précédé de tout ceux qui doivent être exécutés avant lui, mais pas de ceux qui en dépendent.
  • set service | daemon variable [arguments] : Pour un démon, configure la variable du démon avec les arguments spécifiés. Si variable est déjà paramétrée, la variable du démon est reconfigurée par les arguments fournis en option ou sa valeur par défaut. Le status variable doit être fourni avec un argument on ou off. Il est utilisé pour activer ou désactiver un service ou démon dans rc.conf.local(8). Quand un démon désactivé d’un paquet est activé, il est ajouté à la fin de pkg_scripts. Quand un démon d’un paquet est désactivé, il est supprimé de pkg_scripts et ses variables sont supprimées, s’il y en a.

Statut de sortie

rcctl action retourne un statut de sortie du script du démon rc.d(8). rcctl get daemon | service [status] termine avec 0 si le démon ou service est activé et avec 1 s’il ne l’est pas. rcctl getdef daemon | service [status] termine avec 0 si le démon ou service est activé par défaut et 1 s’il ne l’est pas. rcctl ls failed termine avec 1 si un démon activé ne fonctionne pas. Autrement, l’utilitaire rcctl termine avec 0 en cas de succès, et supérieur à 0 si une erreur arrive (2 indique un démon ou service non existant).

Exemples

Active et paramètre les drapeaux d’apmd(8) :

# rcctl set apmd status on
# rcctl set apmd flags -A
# rcctl get apmd
apmd_class=daemon
apmd_flags=-A
apmd_rtable=0
apmd_timeout=30
apmd_user=root
# echo $?
0

La manière recommandée pour exécuter une seconde copie d’un démon en particulier pour un but différent est de créer un lien symbolique vers son script de contrôle rc.d(8) :

# ln -s /etc/rc.d/snmpd /etc/rc.d/snmpd6
# rcctl set snmpd6 status on
# rcctl set snmpd6 flags -D addr=2001:db8::1234
# rcctl start snmpd6

Voir aussi

Histoire

rcctl est apparu la première fois dans OpenBSD 5.7.

Auteurs

rcctl a été écrit par Antoine Jacoutot ajacoutot@openbsd.org.


Traduction du manpage rcctl(8) !


Historique

J’ai écrit historiquement cette documentation sur le wiki de la communauté “OpenBSD Pour Tous”.