Поиск по сайту:

[Решено] sudo: невозможно устранить ошибку хоста в Ubuntu Linux


Это краткое руководство покажет вам, как исправить ошибку «sudo: невозможно разрешить имя хоста хоста» в Ubuntu или любом другом дистрибутиве Linux.

Чтобы протестировать руководства по Linux Handbook, я создал новый сервер в UpCloud, моем любимом поставщике облачных серверов с невероятно быстрым SSD. Мой сервер Ubuntu 18.04 был готов через несколько минут.

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

Я создал пользователя sudo, потому что предпочитаю не быть пользователем root постоянно, особенно когда работаю со своей системой.

Когда я начал использовать команды с sudo, я увидел странную ошибку в выводе команд:

sudo: невозможно разрешить тестовый сервер хоста

Команда выполнялась с помощью sudo без каких-либо проблем, но это сообщение об ошибке все равно отображалось.

Исправить sudo: невозможно разрешить хост

Основная причина ошибки на самом деле была связана с изменением имени хоста. Позвольте мне показать вам, как исправить эту ошибку невозможного разрешения имени хоста.

Сначала проверьте имя хоста вашей системы с помощью команды hostname. В моем случае имя хоста — тестовый сервер.

$hostname
test-server

Имя хоста берется из файла /etc/hostname.

cat /etc/hostname 
test-server

То же имя хоста должно быть указано и в файле /etc/hosts. Но в моем случае (и, я думаю, в вашем случае тоже) это имя хоста отсутствовало в файле /etc/hosts, как вы можете видеть в выводе ниже:

127.0.0.1 localhost
The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Поскольку здесь оно отсутствует, система не может определить имя хоста и поэтому выдает ошибку «sudo: невозможно разрешить хост».

Чтобы это исправить, отредактируйте этот файл, добавьте новую строку и установите адрес обратной связи с именем хоста. Вы можете использовать Vim для редактирования файлов в командной строке.

127.0.0.1 <hostname>

Итак, теперь мой файл /etc/hosts выглядит так:

127.0.0.1 localhost
127.0.0.1 test-server
The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Совет. Если старое имя хоста все еще присутствует где-либо в вашем файле /etc/hosts, вам следует заменить его новым именем хоста.

Сразу после добавления вышеупомянутой строки ошибка «sudo: не удалось разрешить хост» исчезла. Мне даже не пришлось перезагружать сервер Ubuntu.

Надеюсь, этот небольшой совет помог вам исправить эту досадную ошибку. Дайте мне знать, сработало ли это для вас или нет, в разделе комментариев.

Статьи по данной тематике: