绑定符号链接变成红色帖子名为重新启动

绑定符号链接变成红色帖子名为重新启动

需要有关 bind-chroot 的帮助

我们正在运行以下版本的 bind 和 bind-chroot

绑定-9.11.2-lp151.10.1.x86_64

绑定-chrootenv-9.11.2-lp151.10.1.x86_64

我们的自动化代码正在运行,仅将区域文件添加到 /var/lib/named/etc/named.conf,而不是添加到 /etc/named.conf

因此,为了在 /etc/named.conf 中反映在 /var/lib/named/etc/named.conf 中创建的区域文件,我在 /etc 中创建了一个符号链接,即“ln -s /var/lib/named/etc/named.conf named.conf”,以如下方式反映 lrwxrwxrwx 1 root root 29 Dec 9 11:03 named.conf -> /var/lib/named/etc/named.conf

现在,当我对 /var/lib/named/etc/named.conf 中的文件进行更改并执行“服务名为重新启动”时,/etc/named.conf 中的文件无法加载

/var/log/messages 中的错误消息如下

2021-12-09T11:04:46.684677+05:30 lavasadns1 systemd[1]: Stopped Berkeley Internet Name Domain (DNS). 2021-12-09T11:04:46.685049+05:30 lavasadns1 systemd[1]: Starting Berkeley Internet Name Domain (DNS)... 2021-12-09T11:04:46.735359+05:30 lavasadns1 named.init[2509]: Starting name server BIND cp: cannot stat '/etc/named.conf': No such file or directory 2021-12-09T11:04:46.844546+05:30 lavasadns1 named.init[2509]: open: /etc/named.conf: file not found 2021-12-09T11:04:46.847806+05:30 lavasadns1 systemd[1]: named.service: Control process exited, code=exited status=6 2021-12-09T11:04:46.848137+05:30 lavasadns1 systemd[1]: Failed to start Berkeley Internet Name Domain (DNS). 2021-12-09T11:04:46.848475+05:30 lavasadns1 systemd[1]: named.service: Unit entered failed state. 2021-12-09T11:04:46.848772+05:30 lavasadns1 systemd[1]: named.service: Failed with result 'exit-code'. 2021-12-09T11:05:31.657460+05:30 lavasadns1 systemd[1]: Starting Berkeley Internet Name Domain (DNS)... 2021-12-09T11:05:31.666976+05:30 lavasadns1 named.init[2573]: Name server configuration file /etc/named.conf does not exist.

并且符号链接的颜色变为红色。为什么会发生这种情况?如何避免此错误

答案1

开始bind/named运行/usr/sbin/named.init

其中有一个名为的函数checkAndCopyConfigFiles

其中有一行rm -f ${CHROOT_PREFIX}/${configfile}

您创建了一个从/etc/named.conf到 的符号链接/var/lib/named/etc/named.conf,现在当该脚本运行时,它会删除/var/lib/named/etc/named.conf

因此,脚本删除了/var/lib/named/etc/named.conf,并尝试复制符号链接的端点,/etc/named.conf但该端点不再存在,因为它已经被删除。

这会导致悬空的符号链接引用,从而变成red

您的作品named.conf已不复存在。

如果你能把它拿回来,你有 3 个选择。

  1. 让您的代码改变/etc/named.conf和 其中的任何其他文件/etc/(而不是 其中的文件) /var/lib/named/etc
  2. 编辑/usr/sbin/named.init并制作您自己的方法来处理这种情况。
  3. 删除bind-chrootenv并制作您自己的启动脚本。

相关内容