綁定符號連結變成紅色貼文名為重啟

綁定符號連結變成紅色貼文名為重啟

需要一些有關 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:03named.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並製作自己的啟動腳本。

相關內容