LINUX.ORG.RU

История изменений

Исправление Shushundr, (текущая версия) :

Я бы изменил /etc/resolv.conf, но не знаю как, потому что этот файл управляется пакетом systemd.

domain - Local domain name, пишет man 5 resolv.conf «Most queries for names within this domain can use short names relative to the local domain. If set to '.', the root domain is considered. If no domain entry is present, the domain is determined from the local hostname returned by gethostname(2); the domain part is taken to be everything after the first '.'»

Заметьте, что тут говорится про превращение имён в адреса, а не про узнавание домена по-умолчанию (а ведь это разные задачи/алгоритмы).

Я думаю, что в строке hosts при nss-модуле «files» информация о хосте оказывается не найдена (почему так происходит, я не знаю). И после этого FQDN-имя либо отдаётся при помощи systemd, либо срабатывает какой-то fallback-алгоритм, возможно тот, который описан в этом сообщении про man resolv.conf.

Значит должно быть три выхода:
1) настроить systemd таким образом, чтобы в файле resolv.conf появлялась строка domain. Но неясно, поможет ли это вообще. И недостаточно документации по systemd.
UPD: проверил, не поможет. Переделал симлинк в файл, вписал туда строку domain mydomain, но hostname --long всё равно выводит короткую строку, имя без домена.
2) написать свой nss-модуль, который будет возвращать имя домена более правильно, чем systemd. Но тут непонятно, что именно запрашивается.
3) разобраться как это работает полностью, перепроектировать и сделать как надо (это очень долго и муторно).

Исправление Shushundr, :

Я бы изменил /etc/resolv.conf, но не знаю как, потому что этот файл управляется пакетом systemd.

domain - Local domain name, пишет man 5 resolv.conf «Most queries for names within this domain can use short names relative to the local domain. If set to '.', the root domain is considered. If no domain entry is present, the domain is determined from the local hostname returned by gethostname(2); the domain part is taken to be everything after the first '.'»

Заметьте, что тут говорится про превращение имён в адреса, а не про узнавание домена по-умолчанию (а ведь это разные задачи/алгоритмы).

Я думаю, что в строке hosts при nss-модуле «files» информация о хосте оказывается не найдена (почему так происходит, я не знаю). И после этого FQDN-имя либо отдаётся при помощи systemd, либо срабатывает какой-то fallback-алгоритм, возможно тот, который описан в этом сообщении про man resolv.conf.

Значит должно быть три выхода:
1) настроить systemd таким образом, чтобы в файле resolv.conf появлялась строка domain. Но неясно, поможет ли это вообще. И недостаточно документации по systemd.
2) написать свой nss-модуль, который будет возвращать имя домена более правильно, чем systemd. Но тут непонятно, что именно запрашивается.
3) разобраться как это работает полностью, перепроектировать и сделать как надо (это очень долго и муторно).

Исходная версия Shushundr, :

Я бы изменил /etc/resolv.conf, но не знаю как, потому что этот файл управляется пакетом systemd.

domain - Local domain name, пишет man 5 resolv.conf «Most queries for names within this domain can use short names relative to the local domain. If set to '.', the root domain is considered. If no domain entry is present, the domain is determined from the local hostname returned by gethostname(2); the domain part is taken to be everything after the first '.'»

Заметьте, что тут говорится про превращение имён в адреса, а не про узнавание домена по-умолчанию (а ведь это разные задачи/алгоритмы).

Я думаю, что в строке hosts при nss-модуле «files» информация о хосте оказывается не найдена (почему так происходит, я не знаю). И после этого FQDN-имя либо отдаётся при помощи systemd, либо срабатывает какой-то fallback-алгоритм, возможно тот, который описан в этом сообщении про man resolv.conf.

Значит должно быть три выхода:
1) настроить systemd таким образом, чтобы в файле resolv.conf появлялась строка domain

1) написать свой nss-модуль, который будет возвращать имя домена более правильно, чем systemd. Но тут непонятно, что вообще запрашивается.