BIND8 im chroot nicht zu stoppen (Sarge) [gelöst]

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Salgar
Beiträge: 20
Registriert: 02.04.2005 16:39:16
Kontaktdaten:

BIND8 im chroot nicht zu stoppen (Sarge) [gelöst]

Beitrag von Salgar » 12.09.2005 18:10:19

Hallo,

ich bin gerade dabei einen Server zu installieren. BIND sollte dabei im chroot laufen und tut das auch - nur leider kann ich ihn nicht mehr beenden. Durch den chroot hat der named-Prozess eine PID die nicht mit der in /var/run/named.pid übereinstimmt.

Was kann ich tun, damit das init-Skript funktioniert? Wie sieht die Sache bei einem reload aus?
Zuletzt geändert von Salgar am 13.09.2005 07:41:16, insgesamt 1-mal geändert.

Salgar
Beiträge: 20
Registriert: 02.04.2005 16:39:16
Kontaktdaten:

Lösung gefunden

Beitrag von Salgar » 13.09.2005 07:40:56

Hallo,
ich habe die Lösung jetzt selbst gefunden. Beim chroot wird die neue PID in $CHROOT/var/run/named.pid abgelegt. Damit man BIND wieder stoppen kann muss nur /etc/init.d/bind abgeändert werden.

Aus ...

Code: Alles auswählen

start-stop-daemon --stop --quiet  \
        --pidfile /var/run/named.pid --name named
... wird:

Code: Alles auswählen

start-stop-daemon --stop --quiet  \
        --pidfile $CHROOT/var/run/named.pid --name named
Natürlich sollte die Variable $CHROOT gesetzt sein, ich habe das in /etc/default/bind gemacht:

Code: Alles auswählen

echo -e 'CHROOT="/home/dns"
OPTIONS="-u dns -g dns -t $CHROOT"' > /etc/default/bind
Was wahrscheinlich nicht funktionieren wird ist ein reload - den habe ich noch nicht getestet - weiss aber bis jetzt auch noch nicht wofür der genau da ist und was intern passiert.

Salgar

Salgar
Beiträge: 20
Registriert: 02.04.2005 16:39:16
Kontaktdaten:

Lösung für reload

Beitrag von Salgar » 13.09.2005 09:55:20

Hallo,
ich habe jetzt auch die Lösung für den 'reload' gefunden. Der wird standardmäßig gemacht durch:

Code: Alles auswählen

/usr/sbin/ndc reload
Ein man ndc zeigt, das ndc über einen Channel (=Socket, default: /var/run/ndc) mit BIND kommuniziert. Mit der Option -c kann ein abweichender Channel übergeben werden

Code: Alles auswählen

/usr/sbin/ndc -c $CHROOT/var/run/ndc reload
Salgar

Antworten