7

Я использую Windows Bash и получаю сообщение об ошибке fox@FOX:/etc$ sudo true sudo: unable to resolve host FOX

Я видел, как люди говорят, что я полагаю, что нужно отредактировать файл etc/hosts , но я не знаю, что поместить в файл. Может кто-нибудь сказать мне, что я положу, чтобы исправить это?1

2 ответа2

10

Вы можете исправить это, добавив запись в ваш /etc/hosts для имени хоста вашей машины.

Если вам нужен однострочник, то примерно так:

printf "\n127.0.0.1   $HOSTNAME\n" | sudo tee -a /etc/hosts

Это добавит в ваш файл hosts строку, которая разрешит текущее имя хоста в 127.0.0.1 .

Когда вы запустите указанную выше команду, вам будет предложено ввести пароль root, который вы установили при установке подсистемы Windows Linux. Кроме того, поскольку эта команда запускает оболочку для пользователя root непосредственно перед ее запуском, вы на самом деле увидите sudo: не удалось разрешить сообщение sudo: unable to resolve host WHATEVER последний раз непосредственно перед внесением изменений.

Или вы запускаете редактор (например, nano) от имени пользователя root и добавляете запись вручную:

sudo nano /etc/hosts
1

Вот ссылка на временное решение, опубликованное пользователем отслеживателя проблем github пользователем benhillis :

Это происходит потому, что файл /etc /hosts не содержит имени вашей машины. Чтобы обойти это, вы можете удалить /etc /hosts, и он будет воссоздан после закрытия всех открытых окон bash.exe и запуска bash.exe.

Я могу подтвердить, что это работало для меня на Windows 10 Pro 64 build 1607.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .