====== 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 [[wiki:os:bsd_unix:tutos:admin: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.