재시작이라는 이름의 빨간색 포스트를 바꾸는 심볼릭 링크 바인딩

재시작이라는 이름의 빨간색 포스트를 바꾸는 심볼릭 링크 바인딩

바인드-chroot에 대한 도움이 필요합니다

우리는 아래 버전의 바인드와 바인드-chroot를 실행하고 있습니다.

바인드-9.11.2-lp151.10.1.x86_64

바인드-chrootenv-9.11.2-lp151.10.1.x86_64

/etc/named.conf가 아닌 /var/lib/named/etc/named.conf에만 영역 파일을 추가하기 위해 자동화 코드가 실행 중입니다.

그래서 /var/lib/named/etc/named.conf에 생성된 영역 파일을 /etc/named.conf에 반영하기 위해 /etc에 "ln -s /var/lib/named/"로 심볼릭 링크를 생성했습니다. etc/named.conf 명명된.conf"는 아래와 같이 반영됩니다. lrwxrwxrwx 1 루트 루트 29 Dec 9 11:03 명명된.conf -> /var/lib/named/etc/named.conf

이제 /var/lib/named/etc/named.conf의 파일을 변경하고 "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자신만의 시작 스크립트를 제거 하고 작성하세요.

관련 정보