Linux® utilise le système d'initialisation SysV alors que FreeBSD utilise le style traditionnel BSD avec init(8). Avec init(8) il n'existe pas de niveaux d'exécution et pas de /etc/inittab, mais à la place le démarrage est contrôlé par l'utilitaire rc(8). Le script /etc/rc lit /etc/defaults/rc.conf et /etc/rc.conf pour déterminer quels services doivent être démarrés. Les services déclarés sont alors démarrés en lançant les scripts d'initialisation du service considéré que l'on trouve dans /etc/rc.d/ et /usr/local/etc/rc.d/. Ces scripts sont similaires aux scripts que l'on trouve dans /etc/init.d/ sur les systèmes Linux.
Pourquoi existe-t-il deux emplacements distincts pour les scripts d'initialisation de services ? Les scripts que l'on trouve dans /etc/rc.d/ sont pour les applications qui font partie du système de base (cron(8), sshd(8), syslog(3), et d'autres). Les scripts dans /usr/local/etc/rc.d/ sont pour les applications installées par les utilisateurs telles que Apache, Squid, etc. Quelle est la différence entre le système de base et les applications installées par l'utilisateur? FreeBSD est développé comme un système d'exploitation complet. En d'autres termes, le noyau, les bibliothèques système, et les utilitaires présents dans l'espace utilisateur (tels que ls(1), cat(1), cp(1), etc.) sont développés et distribués conjointement. C'est à cela que l'on fait référence en parlant de système de base. Les applications installées par l'utilisateur sont des applications qui ne font pas partie du système de base, telles que Apache, X11, Mozilla Firefox, etc. Ces applications sont généralement installées en utilisant le Catalogue des logiciels portés et les paquetages de FreeBSD. Afin de les conserver à l'écart du système de base, les applications installées par l'utilisateur sont normalement placées dans /usr/local/. Ainsi les binaires installés par l'utilisateur se trouvent dans /usr/local/bin/, les fichiers de configuration dans /usr/local/etc/, et ainsi de suite. |
Les services sont activés en spécifiant NomDuService_enable="YES" dans /etc/rc.conf (rc.conf(5)). Pour vous faire une idée, vous pouvez consulter les valeurs par défaut du système dans /etc/defaults/rc.conf, ces valeurs par défaut sont surchargées par celles trouvées dans /etc/rc.conf. De plus, lors de l'installation de logiciels additionnels, veillez à consulter leur documentation pour déterminer de quelle manière sont activés les services associés, le cas échéant.
Le bout de code suivant extrait de /etc/rc.conf active sshd(8) et Apache 2.2. Il spécifie également que Apache devrait être lancé avec SSL.
# enable SSHD sshd_enable="YES" # enable Apache with SSL apache22_enable="YES" apache22_flags="-DSSL"
Dès lors qu'un service a été activé dans /etc/rc.conf, ce service peut être démarré depuis la ligne de commande (sans avoir à redémarrer le système):
# /etc/rc.d/sshd start
Si un service n'a pas été activé il peut être démarré depuis la ligne de commande en
utilisant forcestart
:
# /etc/rc.d/sshd forcestart
Précédent | Sommaire | Suivant |
Paquetages et logiciels portés: ajouter des logiciels sous FreeBSD | Configuration Réseau |
Ce document, ainsi que d'autres peut être téléchargé sur ftp.FreeBSD.org/pub/FreeBSD/doc/.
Pour toutes questions à propos de FreeBSD, lisez la documentation avant de contacter <questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez <doc@FreeBSD.org>.