привязать символическую ссылку, становящуюся красной, пост с именем «перезагрузка»

привязать символическую ссылку, становящуюся красной, пост с именем «перезагрузка»

Нужна помощь с 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.

Поэтому, чтобы отразить файлы зоны, созданные в /var/lib/named/etc/named.conf, в /etc/named.conf, я создал символическую ссылку в /etc как "ln -s /var/lib/named/etc/named.conf named.conf", чтобы отразить, как показано ниже lrwxrwxrwx 1 root root 29 дек 9 11:03 named.conf -> /var/lib/named/etc/named.conf

Теперь, когда я вношу изменения в файл в /var/lib/named/etc/named.conf и выполняю «service named restart», файл в /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и создайте свой собственный скрипт запуска.

Связанный контент