sudo cp -ar / mnt / c / User & hellip; Не работает [dублировать]

Проверьте содержимое /etc/network/interfaces. Хотя я мог ошибаться, мне кажется, что вы управляете своими сетями из графического интерфейса. Ранее у меня были проблемы с конфликтами между файлом /etc/network/interfaces и настройкой GUI Ubuntu.

Если /etc/network/interfaces имеет в нем сети, попробуйте удалить их и использовать только настройку GUI. Если это не работает, и этот файл имеет только следующие строки, попробуйте выполнить следующие шаги.

auto lo
iface lo inet loopback

Если ваш файл /etc/network/interfaces имеет только те строки, моя первая попытка - удалите все в сети Ubuntu GUI и поместите в /etc/network/interfaces:

auto eth0
iface eth0 inet dhcp

Или для настройки статического IP-адреса (для случаев, когда у вас нет маршрутизатора dhcp):

[ f3]

И замените eth0 на eth1 или wlan0 и т. д. для вторичного ethernet или беспроводной карты.

Затем запустите sudo /etc/init.d/networking restart, чтобы протестировать его, затем перезагрузитесь, чтобы узнать,

PS: Я не гарантирую эту работу. Трудно сказать из-за ограниченного количества информации, которую вы можете опубликовать там, где проблема. Это просто первое, что я попробую.

649
задан 6 March 2018 в 13:54

34 ответа

Проверяем две вещи (при условии, что ваш компьютер называется my-machine, вы можете изменить это как соответствующее):

Что файл /etc/hostname содержит только имя машины. Это /etc/hosts имеет запись для localhost. Он должен иметь что-то вроде: 127.0.0.1 localhost.localdomain localhost 127.0.1.1 my-machine

Если какой-либо из этих файлов неверен (поскольку вы не можете использовать sudo), вам может потребоваться перезагрузить компьютер в режим восстановления и внести изменения, затем перезагрузитесь в обычную среду.

849
ответ дан 18 July 2018 в 10:08

Проверяем две вещи (при условии, что ваш компьютер называется my-machine, вы можете изменить это как соответствующее):

Что файл /etc/hostname содержит только имя машины. Это /etc/hosts имеет запись для localhost. Он должен иметь что-то вроде: 127.0.0.1 localhost.localdomain localhost 127.0.1.1 my-machine

Если какой-либо из этих файлов неверен (поскольку вы не можете использовать sudo), вам может потребоваться перезагрузить компьютер в режим восстановления и внести изменения, затем перезагрузитесь в обычную среду.

854
ответ дан 24 July 2018 в 19:31

Извините, я не могу вам помочь, но, поскольку он говорит «не удается разрешить хост», попробуйте запустить:

hostname

И посмотрите, является ли вывод именем хоста машины. Если нет, проблема в конфигурации хоста, а не в sudo.

2
ответ дан 18 July 2018 в 10:08

У меня была такая же проблема, хотя имя хоста в файле / etc / hostname и / etc / hosts совпало.

Мое имя хоста было «staging_1». Оказывается, у вас не может быть подчеркивания в вашем имени хоста, поэтому я получаю эту ошибку. Изменение подчеркивания на дефис исправило мою проблему.

10
ответ дан 18 July 2018 в 10:08

Добавьте свое имя хоста в /etc/hosts следующим образом:

echo $(hostname -I | cut -d\ -f1) $(hostname) | sudo tee -a /etc/hosts
38
ответ дан 18 July 2018 в 10:08

Обратите внимание, что это ответ на этот вопрос, который был объединен с этим.

Ваше имя хоста (dave00-G31M-ES2L) не представлено в /etc/hosts. Добавьте L в эту строку:

127.0.1.1 dave00-G31M-ES2

Таким образом, это будет:

127.0.1.1 dave00-G31M-ES2L

Чтобы выполнить это, откройте консоль (нажмите Ctrl + Alt + T) и введите:

sudo gedit /etc/hosts

Добавьте письмо L, как указано, сохраните и выйдите.

30
ответ дан 18 July 2018 в 10:08

Некоторые эмуляторы терминала не будут обновлять приглашение с правильным именем хоста, пока вы не закроете и не перезапустите эмулятор (lxterminal, я говорю с вами).

Я потратил 30 минут на борьбу с этой ошибкой после редактирования моего имени хоста и файлов хостов и запуска sudo service hostname restart до тех пор, пока не запустил sudo hostname и не увидел, что имя хоста было новым значением, даже если в подсказке было показано старое значение.

5
ответ дан 18 July 2018 в 10:08

В AWS перейдите на свой vpc и включите «DNS Hostnames».

9
ответ дан 18 July 2018 в 10:08

, если вы не можете sudo вы МОЖЕТ войти в систему с правами root через su. IE: su root (в x-term). затем введите пароль root при появлении запроса, затем вы можете редактировать файлы с помощью nano. Пароль root в «buntu» совпадает с паролем, который вы используете для sudo.

1
ответ дан 18 July 2018 в 10:08

У меня была эта проблема, когда я использовал ubuntu на VPS. Я решил, что он редактирует файл / etc / hosts.

запустите эту команду:

sudo nano /etc/hosts

, а затем добавьте:

127.0.0.1 localhost.localdomain localhost 127.0.1.1 ubuntu

Надеюсь, что это решит ваша проблема:)

PS: Не забудьте перезагрузить компьютер!

16
ответ дан 18 July 2018 в 10:08

вы можете получить сообщение об ошибке, если ваши хосты или файл хоста содержат недопустимые символы. Разрешены только эти символы: a-z, A-Z, 0-9

2
ответ дан 18 July 2018 в 10:08

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

#vi /etc/hosts 127.0.0.1 localhost 127.0.1.1 localhost myhostname #vi /etc/hostname myhostname
1
ответ дан 18 July 2018 в 10:08

Симптом, данный в вопросе, может сильно коррелировать с этой более конкретной проблемой:

$ hostname --fqdn hostname: Temporary failure in name resolution

Существуют различные способы решения этой проблемы, одним из которых является добавление вашего имени хоста в качестве localhost в /etc/hosts (как показано в нескольких других ответах). Это может быть правильным решением в целом, но это не единственное возможное решение.

«Полноценное доменное имя» может быть предоставлено внешним DNS-сервером или аналогичным (если таковое доступно в вашей сети). В этом случае sudo не будет жаловаться, несмотря на отсутствующую запись в /etc/hosts.

Примечание: sudo пытается разыменовать имя хоста, хотя это не " t обязательно из-за дополнительных возможностей в файле sudoers. См. Команду sudo, пытающуюся выполнить поиск имени хоста.

Пока задержка не слишком длинная, это сообщение об ошибке обычно является безвредным.

3
ответ дан 18 July 2018 в 10:08

OP wrote:

Все было в / etc / hostname. На двух наших больничных серверах это выглядело так: ubuntu@(none):~$ cat /etc/hostname linux-web-n ip-10-128-##-## На сервере без этой проблемы у нас было: ubuntu@ip-10-128-##-###:~$ cat /etc/hostname ip-10-128-##-### Убрали часть linux-web-n, перезагрузили, и все было в порядке.
2
ответ дан 18 July 2018 в 10:08

У меня была такая же проблема! Я изменил имя своего VPS через панель управления онлайн-администратором, которая не изменила имя машины в файле hosts. Все, что я сделал, было запущено:

sudo nano /etc/hosts

Затем я отредактировал это из этого:

127.0.1.1 Megabyte Megabyte 127.0.0.1 localhost

К этому:

127.0.1.1 Debian Debian 127.0.0.1 localhost

и исправил мою ошибку! Надеюсь, это помогло!

2
ответ дан 18 July 2018 в 10:08

Если вы используете Vagrant, войдите в гостевую систему и запустите apt-get --no-install-recommends install virtualbox-guest-utils

1
ответ дан 18 July 2018 в 10:08

Я столкнулся с этим же сообщением об ошибке. Я думаю, что эта дискуссионная тема на форумах разработчиков AWS - лучшее решение:

«Перейдите в консоль управления VPC, выберите VPC, нажмите« Действия », выберите« Редактировать имена хостов DNS »и выберите« Да ».«

https://forums.aws.amazon.com/thread.jspa?messageID=699718

5
ответ дан 18 July 2018 в 10:08

В моем случае это была проблема, я изменил hostname на man, потому что хотел узнать, есть ли какие-то параметры, которые вы можете использовать на hostname. Вместо этого он изменил мои hostname на man, и я всегда получал то же сообщение, что и вы

sudo: unable to resolve host (none)

после изменения имени хоста на «localhost», все снова работало нормально

hostname localhost
4
ответ дан 18 July 2018 в 10:08

Извините, я не могу вам помочь, но, поскольку он говорит «не удается разрешить хост», попробуйте запустить:

hostname

И посмотрите, является ли вывод именем хоста машины. Если нет, проблема в конфигурации хоста, а не в sudo.

2
ответ дан 24 July 2018 в 19:31
  • 1
    Я сделал, что получил имя хоста моей машины. У меня также есть запись в / etc / hosts. Я все еще получаю ошибку. – chandresh 6 May 2017 в 16:22
  • 2
    Вы перезагрузили компьютер после изменения файла hosts? – animaletdesequia 7 May 2017 в 21:52
  • 3
    Нет. Хотя моя ИТ-команда заявила, что есть проблема с файлом блокировки, а также с ключом gpg с марионетками. Теперь он разрешился без перезагрузки. – chandresh 8 May 2017 в 12:28

У меня была такая же проблема, хотя имя хоста в файле / etc / hostname и / etc / hosts совпало.

Мое имя хоста было «staging_1». Оказывается, у вас не может быть подчеркивания в вашем имени хоста, поэтому я получаю эту ошибку. Изменение подчеркивания на дефис исправило мою проблему.

10
ответ дан 24 July 2018 в 19:31

Добавьте свое имя хоста в /etc/hosts следующим образом:

echo $(hostname -I | cut -d\ -f1) $(hostname) | sudo tee -a /etc/hosts
39
ответ дан 24 July 2018 в 19:31
  • 1
    Это был блестящий ответ, который не получил достаточного кредита – Edziu Eames 17 October 2016 в 04:55
  • 2
    Хороший! Согласился, что он не получает достаточной репутации. :-) – Peter K. 13 October 2017 в 15:39
  • 3
    Это умно, но я не думаю, что это хорошая идея, чтобы автоматизировать что-то подобное. – mwfearnley 4 January 2018 в 17:59

Обратите внимание, что это ответ на этот вопрос, который был объединен с этим.

Ваше имя хоста (dave00-G31M-ES2L) не представлено в /etc/hosts. Добавьте L в эту строку:

127.0.1.1 dave00-G31M-ES2

Таким образом, это будет:

127.0.1.1 dave00-G31M-ES2L

Чтобы выполнить это, откройте консоль (нажмите Ctrl + Alt + T) и введите:

sudo gedit /etc/hosts

Добавьте письмо L, как указано, сохраните и выйдите.

30
ответ дан 24 July 2018 в 19:31
  • 1
    Запомнить! Используйте sudoedit (или sudo -e). Чтобы указать предпочтительный редактор, используйте переменную среды EDITOR (например, export EDITOR=vim), поскольку она создает автономную копию для редактирования, а затем после перезаписывания перезаписывается. – Jan 26 September 2014 в 18:54
  • 2
    Как он может отредактировать файл / etc / hosts, если он не может sudo? Если он не создал учетную запись с паролем (плохая идея) – Dennis 30 March 2015 в 01:31
  • 3
    @Dennis Вы все равно можете выполнить sudo, даже если это сообщение отображается. IIRC вы все равно должны вводить свой пароль при каждом вызове. Если это не сработает, вы можете перезагрузиться в консоль восстановления и применить изменения. Коренная учетная запись с паролем не рекомендуется. – Lekensteyn 30 March 2015 в 02:31
  • 4
    И есть еще один, который предлагает sudo, когда больше нет sudo. sudo не работает, сэр. [F4] – Green 12 July 2016 в 23:18
  • 5
    @Green: Нет sudo? Сообщение об ошибке, о котором вы говорите, поступает из команды sudo. Возможно, вы имели в виду что-то другое? – Thor 14 July 2016 в 16:49
  • 6
    @Green sudo работает просто отлично. Он просто не может хранить какое-либо состояние (то есть, как сказал Лекенштейн в другом месте, вы должны каждый раз вводить свой пароль). – Wlerin 28 July 2016 в 22:16
  • 7
    Если у вас есть эта проблема на Bash W10 и пришел к этому вопросу из google, это ответ, который сработал для меня. Я изменил 127.0.0.1, чтобы выглядеть как «127.0.0.1 localhost DESKTOP-SLQK4CV». (путем выполнения «sudo vim / etc / hosts» (быстрый совет для новичков vim: нажмите i перед вводом, чтобы переключиться в режим вставки, нажмите esc, чтобы выйти из этого, write & quot;: wq & quot; для сохранения и выхода или & quot;: q ! ", чтобы выйти без сохранения), в моем случае sudo работал, но просто сказал, что он не может подключиться к DESKTOP-SLQK4CV), и он начал работать для меня. – Ave 5 August 2016 в 05:13

Некоторые эмуляторы терминала не будут обновлять приглашение с правильным именем хоста, пока вы не закроете и не перезапустите эмулятор (lxterminal, я говорю с вами).

Я потратил 30 минут на борьбу с этой ошибкой после редактирования моего имени хоста и файлов хостов и запуска sudo service hostname restart до тех пор, пока не запустил sudo hostname и не увидел, что имя хоста было новым значением, даже если в подсказке было показано старое значение.

5
ответ дан 24 July 2018 в 19:31
  • 1
    Проблема заключается не в эмуляторах терминалов, а в оболочках, которые кэшировали значение. – Mark Stosberg 16 February 2017 в 23:53

В AWS перейдите на свой vpc и включите «DNS Hostnames».

9
ответ дан 24 July 2018 в 19:31
  • 1
    Добро пожаловать в askubuntu! Можете ли вы немного рассказать об этом? Не совсем понятно, что вы имеете в виду (по крайней мере для меня). – Elder Geek 15 January 2015 в 17:56
  • 2
    Возможно, это не относится к вопросу, но это очень помогло мне. Спасибо! – clayzermk1 10 April 2015 в 20:35
  • 3
    Это был ответ, который мне помог. Amazon AWS изменилась с тех пор, как я в последний раз смотрел на нее. У VPC есть параметры DNS, и их необходимо включить, прежде чем будет разрешено разрешение DNS. – Chris Moore 1 July 2015 в 04:16
  • 4
    параметр Enable DNS Hostnames можно найти (например) в меню правой кнопки мыши в записи vpc – Matteo Scotuzzi 3 January 2016 в 21:32
  • 5
    Нет DNS Hostnames – Green 12 July 2016 в 23:11

, если вы не можете sudo вы МОЖЕТ войти в систему с правами root через su. IE: su root (в x-term). затем введите пароль root при появлении запроса, затем вы можете редактировать файлы с помощью nano. Пароль root в «buntu» совпадает с паролем, который вы используете для sudo.

1
ответ дан 24 July 2018 в 19:31
  • 1
    Пароль root в Ubuntu - это не тот же пароль для sudo. root - его собственная учетная запись, у которой нет пароля, установленного по умолчанию. – TheWanderer 24 August 2016 в 22:38

У меня была эта проблема, когда я использовал ubuntu на VPS. Я решил, что он редактирует файл / etc / hosts.

запустите эту команду:

sudo nano /etc/hosts

, а затем добавьте:

127.0.0.1 localhost.localdomain localhost 127.0.1.1 ubuntu

Надеюсь, что это решит ваша проблема:)

PS: Не забудьте перезагрузить компьютер!

16
ответ дан 24 July 2018 в 19:31
  • 1
    Кроме того, посмотрите, совпадает ли имя вашего устройства (напечатанное в строке заголовка терминала после знака @) во второй строке файла hosts (например, «ubuntu» в примере Luca). Первая строка также может быть просто «localhost». – Waldir Leoncio 26 October 2013 в 19:33
  • 2
    Запомнить! Используйте sudoedit (или sudo -e). Чтобы указать предпочтительный редактор, используйте переменную среды EDITOR (например, export EDITOR=vim), поскольку она создает автономную копию для редактирования, а затем после перезаписывания перезаписывается. – Jan 26 September 2014 в 18:55

вы можете получить сообщение об ошибке, если ваши хосты или файл хоста содержат недопустимые символы. Разрешены только эти символы: a-z, A-Z, 0-9

2
ответ дан 24 July 2018 в 19:31

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

#vi /etc/hosts 127.0.0.1 localhost 127.0.1.1 localhost myhostname #vi /etc/hostname myhostname
1
ответ дан 24 July 2018 в 19:31
  • 1
    127.0.1.1 localhost myhostname или 127.0.1.1 myhostname? – Mostafa Ahangarha 26 March 2016 в 22:43
  • 2
    Как вы можете отредактировать /etc/hosts без sudo. sudo не работает sudo: unable to resolve host ... – Green 12 July 2016 в 23:02

Симптом, данный в вопросе, может сильно коррелировать с этой более конкретной проблемой:

$ hostname --fqdn hostname: Temporary failure in name resolution

Существуют различные способы решения этой проблемы, одним из которых является добавление вашего имени хоста в качестве localhost в /etc/hosts (как показано в нескольких других ответах). Это может быть правильным решением в целом, но это не единственное возможное решение.

«Полноценное доменное имя» может быть предоставлено внешним DNS-сервером или аналогичным (если таковое доступно в вашей сети). В этом случае sudo не будет жаловаться, несмотря на отсутствующую запись в /etc/hosts.

Примечание: sudo пытается разыменовать имя хоста, хотя это не " t обязательно из-за дополнительных возможностей в файле sudoers. См. Команду sudo, пытающуюся выполнить поиск имени хоста.

Пока задержка не слишком длинная, это сообщение об ошибке обычно является безвредным.

3
ответ дан 24 July 2018 в 19:31

OP wrote:

Все было в / etc / hostname. На двух наших больничных серверах это выглядело так: ubuntu@(none):~$ cat /etc/hostname linux-web-n ip-10-128-##-## На сервере без этой проблемы у нас было: ubuntu@ip-10-128-##-###:~$ cat /etc/hostname ip-10-128-##-### Убрали часть linux-web-n, перезагрузили, и все было в порядке.
2
ответ дан 24 July 2018 в 19:31

Другие вопросы по тегам:

Похожие вопросы: