Найти тему

Sudo Unable to Resolve Host Name or Service Not Known. Разбираемся с ошибкой

Оглавление

При установке новой операционной системы, такой как Debian, Ubuntu или любого другого дистрибутива Linux, установщики просят вас указать hostname вашей машины. В этом пункте, большинство пользователей оставляет это поле заполненным по умолчанию.

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

Но после перезагрузки системы при вызове команды sudo что-то пошло не так и вы получаете сообщение об ошибке: «sudo: unable to resolve host your-hostname: name or service not known».

Давайте разбираться.

Фиксим: sudo: unable to resolve host your-hostname: name or service not known.

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

Прежде всего, найдите имя хоста вашего текущего компьютера, что можно сделать, выполнив одну из следующих команд:

# cat /etc/hostname
my.host
---------------------------------------------------------------------
# hostnamectl
Static hostname: my.host Icon name: computer-vm
Chassis: vm
Machine ID: d52cc41b58c90048ad20f129ea91140f
Boot ID: 0058217d33a0416da53f3df6a7f60dd8
Virtualization: kvm
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-1127.el7.x86_64
Architecture: x86-64
--------------------------------------------------------------------
# hostname
my.host

В моем случае, как можно видеть это my.host.

После того, как узнали имя компьютера или имя хоста из /etc/hostname, посмотрим файл /etc/hosts, чтобы проверить имеется ли имя вашего компьютера в этом файле.

# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.1.1 centos-host1 centos-host1

Имя моего хоста — my.host, но здесь все еще появляется «centos-host1», что приводит к вышеобозначенной ошибке. Все правильно, я поменял стандартное имя, данное мне при выделении ВМ, но не поменял запись в /etc/hosts.

Меняем старое имя на новое любым удобным редактором.

# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.1.1 my.host my.host

После этого ошибка: «sudo: unable to resolve host your-hostname: name or service not known.», больше беспокоить вас не будет.

Заключение.

Вот и все, что хотел сказать по исправлению этой ошибки.

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

Так же не забывайте подписываться на мой телеграмм, чтобы не пропустить выход новых статей. А все статьи, можно найти на сайте RoadIT