На сервере у меня были проблемы с sudo, говорящим

sudo: unable to resolve host

Теперь я не знаю, связано ли это, но кто-то другой изменил

/etc/hostname

Но нет

/etc/hosts

Чтобы нового имени хоста больше не было в нем. После перезагрузки машины sudo снова работает. Не вызовет ли у меня проблемы изменение /etc/hostname без изменения /etc/hosts?

0
Codey McCodeface 7 Дек 2021 в 20:58

1 ответ

Короткий ответ, который работает в моих (Debian) системах, состоит в том, чтобы добавить строку в /etc/hosts.

В вашей оболочке подтвердите, что эти результаты совпадают:

$ cat /etc/hostname
somehostname

--- and...---

$ hostname
somehostname

/etc/hosts функционирует как своего рода «локальный DNS», удерживая адреса loopback и localhost для IPv4 и IPv6. Но кажется, что в вашем файле /etc/hosts может отсутствовать запись; мы добавим его следующим образом:

Используя ваш любимый редактор, например. nano:

sudo nano /etc/hosts

Добавьте следующую строку в конец файла:

127.0.1.1   somehostname

Где somehostname соответствует содержимому /etc/hostname, как указано выше.

Сохраните файл, выйдите, перезагрузитесь и sudo перестанет жаловаться. Если что-то/кто-то изменяет ваш файл /etc/hostname, вам нужно будет принять другие меры, чтобы справиться с этим. См. man hostname идеи.

Для получения дополнительной информации о том, почему это так, см. >этот поиск

Также обратите внимание, что это было протестировано в частной локальной сети — это может не сработать, если ваш хост имеет общедоступный IP-адрес и полное доменное имя, размещенное в DNS.

0
Seamus 9 Дек 2021 в 01:01