C'est pas vraiment dans l'ordre des choses de procéder ainsi sous FreeBSD!
Les routines de démarrages de FreeBSD sont prévues pour gérer très facilement le démarrage de services.
Pour rajouter un service au démarrage, il faut commencer par rajouter un script, de préférence dans /usr/local/etc/rc.d (comme ça /etc n'est pas "polué" par les scripts persos, il ne contiendra que les scripts du système).
Il est vivement conseillé d'utiliser le nouveau "format" pour ce genre de script, basé sur les routines de rc.subr.
Ensuite il faut place une ligne dans le fichier /etc/rc.conf plaçant la variable de contrôle à "YES".
Exemple avec pure-ftpd:
- /usr/local/etc/rc.d/pure-ftpd.sh
- Code: Tout sélectionner
#!/bin/sh
# PROVIDE: pureftpd
# REQUIRE: NETWORKING SERVERS
# BEFORE: DAEMON
# KEYWORD: FreeBSD shutdown
. /etc/rc.subr
name=pureftpd
rcvar=`set_rcvar`
command=/usr/local/sbin/pure-config.pl
pureftpd_config=${pureftpd_config:-"/usr/local/etc/pure-ftpd.conf"}
required_files=${pureftpd_config}
pidfile=/var/run/pure-ftpd.pid
procname=pure-ftpd
pureftpd_enable=${pureftpd_enable:-"NO"}
command_args=${pureftpd_config}
load_rc_config $name
run_rc_command "$1"
- /etc/rc.conf
- Code: Tout sélectionner
[...]
pureftpd_enable="YES"
Avec cela, pureftpd est lancé au démarrage.
Attention à nouveau, les commentaires en haut du script n'en sont pas tout à fait ! Ils sont utilisés par rcorder, un des binaires lancés au démarrage de FreeBSD, pour trier l'ordre de lancement des différents services en fonction de leurs dépendances. De même, l'extension du script n'est pas anodine.
Pour plus d'info:
man rc (pour l'explication des phases de démarrage)
man rc.subr (pour l'explications des différentes fonctions à utiliser ou utilisables dans le script)