chroot有効な bind (named-chroot.service
) と、そうじゃない bind (named.service
) は (systemdのunit的に) 別物らしい。
したがって、障害時などに焦ってうっかり
systemctl restart named
とかやると、chrootなしのくっさい bind が起動する……!?
正しくは↓
systemctl restart named-chroot
ファーwww
systemd的に別unit。
# systemctl list-unit-files|grep named named-chroot-setup.service static named-chroot.service enabled named-setup-rndc.service static named.service disabled systemd-hostnamed.service static
ユニットファイルは違うパッケージに含まれてる。
# rpm -ql bind | grep systemd /usr/lib/systemd/system/named-setup-rndc.service /usr/lib/systemd/system/named.service # rpm -ql bind-chroot | grep systemd /usr/lib/systemd/system/named-chroot-setup.service /usr/lib/systemd/system/named-chroot.service
起動コマンドも違う。
# cat /usr/lib/systemd/system/named.service . . . ExecStartPre=/bin/bash -c 'if [ ! "$DISABLE_ZONE_CHECKING" == "yes" ]; then /usr/sbin/named-checkconf -z "$NAMEDCONF"; else echo "Checking of zone files is disabled"; fi' ExecStart=/usr/sbin/named -u named -c ${NAMEDCONF} $OPTIONS . . .
# cat /usr/lib/systemd/system/named-chroot.service . . . ExecStartPre=/bin/bash -c 'if [ ! "$DISABLE_ZONE_CHECKING" == "yes" ]; then /usr/sbin/named-checkconf -t /var/named/chroot -z "$NAMEDCONF"; else echo "Checking of zone files is disabled"; fi' ExecStart=/usr/sbin/named -u named -c ${NAMEDCONF} -t /var/named/chroot $OPTIONS . . .