Table des matières

Système d'initialisation rc.d sous BSD Unix

Présentation système d'initialisation rc.d

Sous les systèmes BSD, le système d'initialisation est rc.d, plus précisément rc.d-ng, également écrit rcNG (pour rc.d new generation), créé par NetBSD (NetBSD 1.5 le 6 décembre 2000). rc.d-ng s'occupe du démarrage du noyau de l'OS, qui lui même initialise les périphériques (écran, clavier, carte réseau,…,etc) et lance des services (daemons) et leurs potentielles dépendances de services. C'est également ce système d'initialisation qui permet l'extinction de l'OS BSD.

Processus d'initialisation via rc.d-ng

Au démarrage d'un système BSD de base, le bootloader (chargeur d'armoçage) lance le noyau BSD qui invoque le premier processus, appelé init (qui est le parent de tous les processus), qui pour sa part exécute via un shell Unix le script /etc/rc, qui dans un premier temps configure le matériel de base de l'ordinateur et invoque le fichier /etc/rc.conf qui comporte tous les daemons à initialiser et leurs dépendances (gérées par rcorder), les scripts de ces daemons se trouvent dans le répertoire /etc/rc.d, le fichier /etc/rc.conf permet également divers configurations comme celle de la ou les cartes réseaux et optionnellement, /etc/rc peut faire appel au fichier /etc/rc.local. En mode multi-utilisateur, une fois tous les daemons démarrés, init invoque des processus getty qui lancent les consoles virtuelles indiquées dans /etc/ttys. En ce qui concerne le redémarrage, l'extinction de l'ordinateur, c'est le fichier /etc/rc.shutdown qui est lut via la commande shutdown.

Ajouter un daemon sous /etc/rc.conf

Sous FreeBSD

sudo echo daemon_enable=YES >> /etc/rc.conf

Sous NetBSD

sudo echo daemon=YES >> /etc/rc.conf
daemon est à remplacer par le daemon en question, par exemple sshd.

Gestion des services (daemons) via rc.d-ng

Voir la commande sudo.

Pour démarrer un daemon :

sudo /etc/rc.d/daemon start

Pour stopper un daemon :

sudo /etc/rc.d/daemon stop

Pour redémarrer un daemon :

sudo /etc/rc.d/daemon restart

Pour recharger la configuration d'un daemon :

sudo /etc/rc.d/daemon reload

Connaître le status d'un daemon :

/etc/rc.d/daemon status
Si les daemons ne sont pas renseignés dans /etc/rc.conf, il faut précéder les options de commande start, stop, restart,…, par one, exemple de commande :
/etc/rc.d/daemon onestart

.