Vous devez aussi savoir que, si vous avez déjà installé BIND, par
exemple en utilisant un paquet RPM, vous devrez probablement le
désinstaller avant d'installer votre nouvelle version. Sur un système
Red Hat, cela implique probablement de désinstaller les paquets
bind
et bind-utils
, et peut-être
aussi bind-devel
et
caching-nameserver
, si vous les avez.
Vous devriez sauvegarder une copie du script d'init (en général
/etc/rc.d/init.d/named
), s'il y a en un, avant la
désinstallation ; ce sera utile plus tard.
Si vous réalisez une mise à jour depuis une ancienne version de BIND,
tel que BIND 8, vous devriez lire le document de migration contenu
dans le fichier doc/misc/migration
du paquet source
de BIND. Ce document ne traite pas du tout de la migration ; il
part simplement de l'hypothèse que vous remplacez une installation
existante et fonctionnelle de BIND 9.
C'est la partie facile :-) Lancez juste make
install
et laissez-le tout faire pour vous. Et voilà, c'est
aussi simple que cela.
Si vous avez un script d'init provenant de votre distribution, le mieux serait probablement de simplement le modifier pour exécuter le nouveau binaire, avec les paramètres appropriés. Les paramètres sont… (roulement de tambour s'il vous plaît…)
-u named
, pour exécuter BIND avec l'utilisateur
named
, plutôt que root
.
-t /chroot/named
, pour que BIND s'exécute dans
l'environnement restreint que nous avons mis en place.
-c /etc/named.conf
, pour que BIND trouve
sa configuration à l'intérieur de la prison.
Ce qui suit est le script d'init que j'utilise avec mon système Red Hat 6.0. Comme vous pouvez voir, il est presque identique à celui livré par Red Hat. Je n'ai pas encore essayé la commande rndc, mais je ne vois pas pour quelle raison elle ne fonctionnerait pas.
#!/bin/sh # # named Le rôle de ce script est de démarrer et d'arrêter # named (serveur DNS BIND). # # chkconfig: 345 55 45 # description: named (BIND) est le serveur de nom (DNS) \ # utilisé pour résoudre les noms de domaines en adresses IP. # probe: true # Lecture de la bibliothèque de fonctions. . /etc/rc.d/init.d/functions # Lecture des paramètres réseau. . /etc/sysconfig/network # Vérifie que le réseau fonctionne. [ ${NETWORKING} = "no" ] && exit 0 [ -f /usr/local/sbin/named ] || exit 0 [ -f /chroot/named/etc/named.conf ] || exit 0 # En fonction de ce qui est appelé. case "$1" in start) # Démarrer le démon. echo -n "Démarrage de named : " daemon /usr/local/sbin/named -u named -t /chroot/named \ -c /etc/named.conf echo touch /var/lock/subsys/named ;; stop) # Arrêter le démon. echo -n "Arrêt de named : " killproc named rm -f /var/lock/subsys/named echo ;; status) status named exit $? ;; restart) $0 stop $0 start exit $? ;; reload) /usr/local/sbin/rndc reload exit $? ;; probe) # named sait comment redémarrer intelligemment ; # nous ne voulons pas que linuxconf nous propose # de le redémarrer à chaque fois /usr/local/sbin/rndc reload >/dev/null 2>&1 || echo start exit 0 ;; *) echo "Utilisation: named {start|stop|status|restart|reload}" exit 1 esac exit 0
Comme pour syslogd, à partir de la version 7.2 de Red Hat, ce processus
est devenu encore plus simple. Il existe maintenant un fichier nommé
/etc/sysconfig/named
dans lequel il est possible
d'ajouter des paramètres pour syslogd. Cependant, dans la distribution
Red Hat 7.2, la version par défaut de
/etc/rc.d/init.d/named
, vérifie l'existence de
/etc/named.conf
avant de lancer BIND. Vous devrez
corriger ce chemin.
Sur les systèmes OpenLinux de Caldera, vous avez juste besoin de modifier les variables définies au début et le script s'occupera apparemment du reste pour vous :
NAME=named DAEMON=/chroot/named/bin/$NAME OPTIONS="-t /chroot/named -u named -g named"
Et sous FreeBSD 4.3, vous pouvez éditer le fichier
rc.conf
et y ajouter les lignes suivantes :
named_enable="YES" named_program="chroot/named/bin/named" named_flags="-u named -t /chroot/named -c /etc/namedb/named.conf"
Vous devrez aussi ajouter ou modifier quelques options dans votre
named.conf
pour que vos divers répertoires soient
correctement définis. En particulier, vous devrez ajouter (ou changer,
si vous les avez déjà) les directives suivantes dans la section
options
:
directory "/etc/namedb"; pid-file "/var/run/named.pid"; statistics-file "/var/run/named.stats";
Ce fichier étant lu par le démon named, tous
les chemins sont relatifs à l'environnement restreint. Au jour de la
rédaction de ce document, BIND 9 ne permettait pas d'utiliser
nombre des fichiers de statistiques et de vidage qu'il était possible
d'utiliser avec la version précédente. Présumons que les prochaines le
pourront ; si vous exécutez de telles configurations, vous devrez
ajouter des entrées additionnelles pour forcer BIND à également écrire
ces fichiers dans le répertoire /var/run
.