Bug 38661 - hostnamectl не полностью отрабатывает set-hostname
Summary: hostnamectl не полностью отрабатывает set-hostname
Status: CLOSED NOTABUG
Alias: None
Product: Sisyphus
Classification: Development
Component: systemd (show other bugs)
Version: unstable
Hardware: e2k Linux
: P5 normal
Assignee: Alexey Shabalin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-07-02 08:18 MSK by markov
Modified: 2020-11-10 11:23 MSK (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description markov 2020-07-02 08:18:57 MSK
hostnamectl set-hostname testhn.localdomain
создаётся файл /etc/hostname (которого изначально почему-то вообще не было)
НО
/etc/hosts не меняется
/etc/sysconfig/network не меняется
Comment 1 Alexey Shabalin 2020-07-02 14:11:44 MSK
1) /etc/hostname имеет больший приоритет. Поэтому когда он есть, то /etc/sysconfig/network больше не учитывается
2) /etc/hosts он и не должен править. Этот файл к имени хоста не имеет отношение.
Comment 2 markov 2020-07-02 14:58:51 MSK
(Ответ для Alexey Shabalin на комментарий #1)
> 1) /etc/hostname имеет больший приоритет. Поэтому когда он есть, то
> /etc/sysconfig/network больше не учитывается
> 2) /etc/hosts он и не должен править. Этот файл к имени хоста не имеет
> отношение.

1) не учитывается не значит не должен быть заполнен правильно
2) не обязательно но очень желательно заполнять, к примеру в opensuse и gentoo (и ещё нескольки не буду перечислять) в hosts кладётся строчка сразу после локалхоста:

127.0.0.1       localhost
127.0.0.1       hostname hostname.domainname

так же некоторые программы/скрипты для проверки правильности хостнейма пингуют его желая получить ответ которого не будет если хостнейм локальный и ns о нём не знает, но будет если он прописан в hosts
Comment 3 Alexey Shabalin 2020-07-02 15:25:19 MSK
(Ответ для markov на комментарий #2)
> (Ответ для Alexey Shabalin на комментарий #1)
> > 1) /etc/hostname имеет больший приоритет. Поэтому когда он есть, то
> > /etc/sysconfig/network больше не учитывается
> > 2) /etc/hosts он и не должен править. Этот файл к имени хоста не имеет
> > отношение.
> 
> 1) не учитывается не значит не должен быть заполнен правильно

Тогда не используйте hostnamectl и просто правьте /etc/sysconfig/network по старинке.

> 2) не обязательно но очень желательно заполнять, к примеру в opensuse и
> gentoo (и ещё нескольки не буду перечислять) в hosts кладётся строчка сразу
> после локалхоста:

Но это не имеет отношение к hostnamectl. В этих дистрибутивах hostnamectl не правит /etc/hosts

> 
> 127.0.0.1       localhost
> 127.0.0.1       hostname hostname.domainname
> 
> так же некоторые программы/скрипты для проверки правильности хостнейма
> пингуют его желая получить ответ которого не будет если хостнейм локальный и
> ns о нём не знает, но будет если он прописан в hosts

В принципе, использование /etc/hosts это "обход" настроек(или их отсутствия) в DNS. Я бы, как администратор, за такое по рукам бил.
Не надо навязывать использовать такие практики.