ਮੁੱਦਾ: ਤੁਸੀਂ ਕੁਝ ਡੇਬੀਅਨ ਡਿਸਟ੍ਰੀਬਿ runningਸ਼ਨ ਚਲਾ ਰਹੇ ਹੋ, ਕਹੋ, ਉਬੰਟੂ ਸਰਵਰ 18.04 ਜਾਂ 20.04. ਤੁਸੀਂ ਇੱਕ IP ਐਡਰੈੱਸ ਪੈਰਾਮੀਟਰ ਨੂੰ ਇੱਕ /etc/bind/নে. ਹੁਣ ਬਾਈਡ 9 ਸਟਾਰਟਅਪ ਇਸ ਤਰਾਂ ਦੇ ਸਮਾਲੌਗ ਗਲਤੀਆਂ ਦੇ ਨਾਲ ਬੂਟ ਤੇ ਅਧੂਰਾ ਛੱਡਦਾ ਹੈ:
Nov 8 11:06:52 cygnus named[1333]: could not get query source dispatcher (192.168.30.2#0) Nov 8 11:06:52 cygnus named[1333]: loading configuration: address not available Nov 8 11:06:52 cygnus named[1333]: exiting (due to fatal error) Nov 8 11:06:52 cygnus systemd[1]: bind9.service: Main process exited, code=exited, status=1/FAILURE Nov 8 11:06:52 cygnus systemd[1]: bind9.service: Failed with result 'exit-code'.
ਪਰੰਤੂ, ਤੁਸੀਂ init.d ਸਕਰਿਪਟ ਨੂੰ ਦਸਤੀ ਚਲਾ ਸਕਦੇ ਹੋ:
/etc/init.d/bind9 start
ਨਾਲ ਅਤੇ ਬਿੰਡ 9 ਬਿਲਕੁਲ ਠੀਕ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ. ਤੁਸੀਂ ਕਰੈਕ ਕੀਤਾ ਹੈ-bind9 ਲਈ ਡੀਬੱਗ ਅਪ ਕਰੋ, ਪਰ ਲੌਗਿੰਗ ਸਿਰਫ ਰਿਪੋਰਟਿੰਗ ਜਾਰੀ ਰੱਖਦੀ ਹੈ [ਸਹੀ ਰੂਪ ਵਿੱਚ, ਜੇ ਹੋ ਸਕਦਾ ਹੈ ਕਿ ਸ਼ਬਦਾਵਲੀ ਦੀ ਘਾਟ] ਜ਼ਰੂਰੀ ਆਈ ਪੀ ਐਡਰੈੱਸ ਉਪਲਬਧ ਨਹੀਂ ਹੈ.
ਤੁਸੀਂ ਇਨਰਨਟਿesਬਜ਼ ਦੀ ਖੋਜ ਕਰੋ ਅਤੇ ਨੋਟ ਕਰੋ ਕਿ ਇਸ ਮੁੱਦੇ ਨੂੰ ਆਈਐਸਸੀ ਨੂੰ ਬੱਗ ਦੱਸਿਆ ਗਿਆ ਹੈ - ਅਤੇ ਅਸਵੀਕਾਰ ਕਰ ਦਿੱਤਾ ਗਿਆ ਹੈ ਜਿਵੇਂ ਕਿ ਬੱਗ ਨਹੀਂ - ਪਿਛਲੇ ਦਹਾਕੇ ਦੌਰਾਨ ਕਈ ਵਾਰ. [ਸੱਚ; ਇਹ ਇੱਕ ਆਈਐਸਸੀ BIND9 ਬੱਗ ਨਹੀਂ ਹੈ.]
ਗਰ੍ਰ.
Следующий ответ был представлен автором вопроса, который первоначально разместил ответ как часть вопроса:
Решение: Полезные подсказки были найдены в https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/
[Начало поста представляет собой стяжку, описывающую лежащее в основе непонимание конкретного параметра конфигурации systemd. В частности, он отмечает, что аргумент «network.target» в файлах *.service НЕ означает того, что любой нормальный человек мог бы ожидать от термина «network.target». "loaded.bananas" означает то же самое. Так что на самом деле это не вина менеджеров дистрибутивов bind9. Это не; они нормальные люди, наверное. Возможно?]
Если вы очень спешите, перейдите к "Бросьте чушь! Как мне убедиться, что мой сервис запускается после сети действительно онлайн?" Там вы прочтете, что делать с этой проблемой. Подводя итог для bind9 --
Редактировать:
vi /etc/systemd/system/multi-user.target.wants/bind9.service
заменить:
After=network.target (See the FUBAR? No? Hence the screed.)
на:
After=network-online.target Wants=network-online.target
Сохраните файл. Перезагрузка:
init 6
войдите снова, убедитесь, что bind9 запустился так, как вы хотите.
root@cygnus:/etc/bind# ps ajx | grep named 1 1704 1704 1704 ? -1 Ssl 121 0:01 /usr/sbin/named -f -u bind or maybe: root@draco:/etc/bind# ps ajx | grep named 1 1258 1258 1258 ? -1 Ssl 110 0:02 /usr/sbin/named -f -u bind -t /var/lib/named -c /etc/bind/named.conf
P.S.: Ребята из дистрибутива -- просмотрите все конфигурации *.service; эта коварная неверная интерпретация «network.target», вероятно, не уникальна.
P.P.S.: Грр: "Создание новых тегов 'listen-on named network.target' требует как минимум 300 репутации. Вместо этого попробуйте что-нибудь из существующего списка тегов."