Невозможно разрешить хосты в безопасном режиме

Я пытаюсь загрузить экземпляр Ubuntu, к которому я почти не касался почти год, но у меня возникают проблемы при попытке запустить sudo apt-get update, чтобы установить отсутствующие драйверы, необходимые для получения драйверов необходимо включить login.

(В настоящий момент Unity сбой при входе в систему после запуска безопасного режима и обычного запуска из-за отсутствия драйверов для вновь установленной карты Nvidia и не может обнаружить беспроводную карту, как из которых, я считаю, должно быть разрешено путем запуска sudo apt-get update или подобных команд.)

Однако, когда я пытаюсь выполнить любую команду apt-get, я получаю кучу Temporary failure resolving 'update.repo.host', включая каноническую repos us.archive.ubuntu.com и security.ubuntu.com.

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

Проверено, что мои сетевые устройства были обнаружены Ubuntu root@host:~# lspci -vnn | grep Net -A2 04:00.0 Ethernet controller [0200] : Intel Corporation I211 Gigabit Network Connection [8086:1539] (rev 03) Subsystem: ASUSTeK Computer Inc. I211 Gigabit Network Connection [1043:85f0] Flags: bus master, fast devsel, latency 0, IRQ 24 Memory at f7600000 (32-bit, non-prefetchable) [size=128K] -- 07:00.0 Network controller [0280] : Broadcom Corporation BCM4360 802.11ac Wireless Network Adapter [14e4:43a0] (rev 03) Subsystem: Broadcom Corporation BCM4360 802.11ac Wireless Network Adapter [14e4:0619] Flags: bus master, fast devsel, latency 0, IRQ 40 Memory at f7400000 (64-bit, non-prefetchable) [size=32K] Двойной проверено, что его подхватили ifconfig -a (Примечание: я знаю, что 16.04 изменили сетевые имена по умолчанию, такие как eth0, и что добавление символической ссылки в /dev/null в /etc/systemd/network не изменение схема именования) root@host:~# ifconfig -a enp4s0 Link encap:Ethernet HWaddr 60:45:cb:9c:4c:aa inet addr:192.168.42.131 Bcast:192.168.42.255 Mask:255.255.255.0 inet6 addr: fe80::6245:cbff:fe9c:4caa/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:594 errors:0 dropped:0 overruns:0 carrier:0 TX packets:16 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:41246 (41.2 KB) TX bytes:1284 (1.2 KB) Memory:f7600000-f761ffff lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:376 errors:0 dropped:0 overruns:0 frame:0 TX packets:376 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:30312 (30.3 KB) TX bytes:30312 (30.3 KB) Двойной флажок /etc/network/interfaces, затем побежал ifdown enp4s0 && ifup enp4s0 (который после завершения возвращает нереалистичное время продления ~ 10 часов или около того) root@host:~# cat /etc/network/interfaces auto enp4s0 iface enp4s0 inet dhcp dns-nameservers 8.8.8.8 8.8.4.4 1.1.1.1 auto lo iface lo inet loopback root@host:~# ifdown enp4s0 && ifup enp4s0 Killed old client process Internet Systems Consortium DHCP Client 4.3.3 ... Listening on LPF/enp4s0/60:45:cb:9c:4c:aa Sending on LPF/enp4s0/60:45:cb:9c:4c:aa Sending on Socket/fallback DHCPRELEASE on enp4s0 to 192.168.42.1 port 67 (xid=0x4b9a51de) Internet Systems Consortium DHCP Client 4.3.3 ... Listening on LPF/enp4s0/60:45:cb:9c:4c:aa Sending on LPF/enp4s0/60:45:cb:9c:4c:aa Sending on Socket/fallback DHCPDISCOVER on enp4s0 to 255.255.255.255 port 67 interval 3 (xid=0x4b9a51de) DHCPDISCOVER on enp4s0 to 255.255.255.255 port 67 interval 8 (xid=0x4b9a51de) DHCPDISCOVER on enp4s0 to 255.255.255.255 port 67 interval 16 (xid=0x4b9a51de) DHCPREQUEST of 192.168.42.131 on enp4s0 to 255.255.255.255 port 67 (xid=0x4b9a51de) DHCPOFFER of 192.168.42.131 from 192.168.42.1 DHCPPACK of 192.168.42.131 from of 192.168.42.1 bound to 192.168.42.131 -- renewal in 39359 seconds.

Дополнительные примечания

Проверено, что мои сетевые устройства были обнаружены Ubuntu root@host:~# lspci -vnn | grep Net -A2 04:00.0 Ethernet controller [0200] : Intel Corporation I211 Gigabit Network Connection [8086:1539] (rev 03) Subsystem: ASUSTeK Computer Inc. I211 Gigabit Network Connection [1043:85f0] Flags: bus master, fast devsel, latency 0, IRQ 24 Memory at f7600000 (32-bit, non-prefetchable) [size=128K] -- 07:00.0 Network controller [0280] : Broadcom Corporation BCM4360 802.11ac Wireless Network Adapter [14e4:43a0] (rev 03) Subsystem: Broadcom Corporation BCM4360 802.11ac Wireless Network Adapter [14e4:0619] Flags: bus master, fast devsel, latency 0, IRQ 40 Memory at f7400000 (64-bit, non-prefetchable) [size=32K]

Проверено, что мои сетевые устройства были обнаружены Ubuntu

Дважды проверено, что его подхватили ifconfig -a (Примечание: я знаю, что 16.04 изменили сетевые имена по умолчанию, такие как eth0, и что добавление символической ссылки на /dev/null в /etc/systemd/network не изменило схему именования ) root@host:~# ifconfig -a enp4s0 Link encap:Ethernet HWaddr 60:45:cb:9c:4c:aa inet addr:192.168.42.131 Bcast:192.168.42.255 Mask:255.255.255.0 inet6 addr: fe80::6245:cbff:fe9c:4caa/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:594 errors:0 dropped:0 overruns:0 carrier:0 TX packets:16 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:41246 (41.2 KB) TX bytes:1284 (1.2 KB) Memory:f7600000-f761ffff lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:376 errors:0 dropped:0 overruns:0 frame:0 TX packets:376 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:30312 (30.3 KB) TX bytes:30312 (30.3 KB)

Двойной проверено, что он подхватил ifconfig -a (Примечание: я знаю, что 16.04 изменили сетевые имена по умолчанию, такие как eth0, и добавили символическую ссылку на /dev/null в /etc/systemd/network не изменил схему именования)

[FAILED] Failed to start Raise network interfaces. See 'systemctl status networking.service' for details

Система подключена к модему через Ethernet-кабель (т. е. он использует канонически интерфейс eth0 для подключения к Интернету).

root@host:~# systemctl status networking.service · networking.service - Raise network interfaces Loaded: loaded (/lib/systemd/system.networking.service; enabled; vendor preset: enabled) Drop-In: /run/systemd/generator/networking.service.d └─50-insserv.conf-$network.conf Active: inactive (dead) Docs: man:interfaces(5)
74
задан 19 April 2018 в 08:37

8 ответов

обзор

На ваш вопрос две части:

  • исправление временное разрешение сообщений
  • исправление пакета проблемы с управлением

Временное решение

Вероятно, эта проблема: либо

  • временно из-за вашего интернет-провайдера неправильно перенаправление интернет-именования (DNS) на его или внешние DNS-серверы или
  • из-за изменения в вашей сети аналогичным образом блокирует это именование - например, новый маршрутизатор / модем, перенастраивая коммутатор с новой конфигурацией .

Давайте посмотрим на возможные проблемы разрешения DNS.

Сначала временно добавьте в вашу систему известный DNS-сервер.

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null

Затем запустите sudo apt-get update.

Если это исправляет ваши сообщения о временном разрешении , либо подождите 24 часа, чтобы узнать, исправляет ли ваш интернет-провайдер проблему (или просто обратитесь к вашему интернет-провайдеру) - или вы можете навсегда добавить DNS-сервер в свою систему:

echo "nameserver 8.8.8.8" | sudo tee /etc/resolvconf/resolv.conf.d/base > /dev/null

8.8.8.8 - это собственный DNS Google сервер.

source

Еще один пример DNS-сервера, который вы можете использовать, - OpenDNS - например:

echo "nameserver 208.67.222.222" | sudo tee /etc/resolvconf/resolv.conf.d/base > /dev/null

проблемы управления пакетами

В дополнение к проблемам временного разрешения - у вас есть несколько проблем управления пакетами, которые необходимо исправить - m, предположив, что вы недавно попытались перейти с одной версии Ubuntu на следующую рекомендованную версию - в вашем случае от Natty (11.04) до Oneiric (11.10)

Откройте терминал и введите

sudo nano /etc/apt/sources.list

Ищите строки, у которых есть ваше другое имя рассылки в списке, чем вы ожидали - в вашем случае - вы обновились до oneiric, но у вас есть другое название выпуска natty

Например , посмотрите строки, которые выглядят как deb http:/archive.canonical.com/ natty backports

Добавьте # в начало строки, чтобы прокомментировать это, например

#deb http:/archive.canonical.com/ natty backports

Сохранить и перезапустить:

sudo apt-get update && sudo apt-get upgrade

У вас не должно быть больше ошибок в присвоении имен.

На момент написания этого сообщения возможно комманда на именах релиза включают lucid, maverick, natty, oneiric, precise, quantal, raring, saucy, trusty, utopic и vivid.

109
ответ дан 21 August 2018 в 05:36
  • 1
    Отлично работает :) – Maduka Jayalath 11 November 2012 в 19:22
  • 2
    Когда во время обновления выдается одно имя, вы можете пропустить прошивку DNS и перейти непосредственно в список источников. – SPRBRN 24 April 2014 в 20:11
  • 3
    Все еще отлично работает с 15.04 и 15.10 – lxx 7 January 2016 в 11:51
  • 4
    Очень тщательный ответ. Спасибо. – jamescampbell 2 August 2016 в 16:39
  • 5
    Что делать, если это не сработает? – Matt G 12 January 2017 в 04:46

Обратите внимание, что этот ответ был написан для старых версий Ubuntu. В текущих версиях используется локальный сервер имен, управляемый D-Bus, для которого применяется диагностическая часть этого ответа, но не решение. Если /etc/resolv.conf содержит nameserver 127.0.1.1 или в целом nameserver 127.X.Y.Z, не изменяйте его.

«Временное разрешение отказа ...» означает, что ваш DNS т.е. перевод с имен хостов на IP-адреса, не работает. Вы недавно переконфигурировали вашу машину? Если нет, это может быть временной ошибкой у вашего интернет-провайдера.

Показывает ли ping -n 8.8.8.8 строки, подобные 64 bytes from 8.8.8.8: …? (Нажмите Ctrl + C, чтобы остановить ping.)

  • Если это не так, у вас есть проблема с IP-подключением. Запустите traceroute -n 8.8.8.8 и посмотрите, где он остановится: если вы находитесь в своем доме / офисе, проверьте сетевое оборудование. Если вы можете связаться со своим интернет-провайдером, обратитесь к ним.
  • Если это так, у вас есть проблема с DNS. Проверьте содержимое /etc/resolv.conf; должна быть строка типа nameserver 1.2.3.4 (возможно, более одного из них). Если строки существуют, в вашем интернет-провайдере, вероятно, есть временная проблема, и вы можете обойти это, добавив nameserver 8.8.8.8 к этому файлу (это объявляет дополнительный DNS-сервер, который предоставляется бесплатно Google) , Если первое число после nameserver равно 127, на вашем компьютере есть DNS-ретранслятор (это хорошо), и вы должны настроить это DNS-ретрансляцию, а не изменять /etc/resolv.conf. В современных версиях Ubuntu по умолчанию есть DNS-ретранслятор, это Dnsmasq , и он управляется D-Bus.
8
ответ дан 21 August 2018 в 05:36
  • 1
    Примечание: ping 8.8.8.8 -c3 пинг только 3 раз, тогда вам не нужно Ctrl + C. Вы можете использовать любое число в параметре, например -c5, -c1, -c100 и т. Д. – Arda 6 November 2014 в 00:58
  • 2
    nameserver необходимо разместить с машиной имени хоста? – albert 7 March 2018 в 21:47
  • 3
    @albert /etc/resolv.conf, который имеет значение, - это тот, на котором вы находитесь. Но в современных системах он просто указывает на локальную машину, и если у вас проблемы с DNS, вы должны работать с D-Bus и NetworkManager. – Gilles 8 March 2018 в 11:41

Для тех, кто использует EC2, не забудьте проверить, что ваши параметры группы безопасности позволяют исходящие подключения к веб-сайтам, которые вы обновляете. Вы можете установить все исходящие исходящие настройки трафика и посмотреть, работает ли он.

0
ответ дан 21 August 2018 в 05:36

Вы можете прокомментировать нерешенное репо из файла sources.list, найденного в каталоге dir / etc / apt /

. После изменения sources.list очистите repo apt-get как

apt-get clean

Затем обновить

apt-get update

Ошибка исчезнет

8
ответ дан 21 August 2018 в 05:36
  • 1
    Это постоянное решение проблемы временного DNS. Если вы забудете изменить его, программное обеспечение из этого репозитория больше не будет обновлено или доступно для установки. – Chai T. Rex 27 January 2018 в 17:04

Принятое решение не работает для меня. Во-первых, только apt-get update предупреждает меня о Temporary failure resolving 'foo.com', но когда я пытаюсь использовать nslookup foo.com или ping foo.com, он отлично работает!

Мое невероятное грязное взлома / исправление для решения этой ошибки , заключается в том, чтобы добавить разрешенные домены вручную в /etc/hosts с помощью этого короткого сценария:

resolveAptHosts()
{
    mapfile -t hosts < <(
        sed -n -r '/^#/d; s;deb(-src)? (http://|ftp://)?([^/ ]+).*;\3;p'\
        /etc/apt/sources.list | sort | uniq )
    # delete all hosts from /etc/hosts, e.g., from an earlier call
    sudo sed -i -r '/^[0-9]{1,3}(\.[0-9]{1,3}){3}[ \t]+('"$( printf '|%s'\
        "${hosts[@]//./\\.}" | sed 's/^|//' )"')[ \t]*$/d' /etc/hosts
    for host in ${hosts[@]}; do
        ip=$( nslookup "$host" | sed -n -r 's|Address:[ \t]*([0-9.]+).*|\1|p' |
              tail -1 )
        sudo bash -c "echo $ip $host >> /etc/hosts"
    done
}

Теперь обновление должно работать:

resolveAptHosts && sudo apt-get update

Если кто-нибудь знает, почему это обходное решение работает и как решить эту ошибку на самом деле, я буду вечно благодарен. Я также попытался использовать sudo apt-get update -o Acquire::ForceIPv4=true, чтобы исключить проблемы с разрешением IPv6, но это тоже не помогло.

0
ответ дан 21 August 2018 в 05:36

У меня возникли подобные ошибки при запуске команд apt-get. Оказывается, на консоли была открыта панель обновления программного обеспечения. Это, казалось, блокировало командную строку apt-get, но я не уверен.

0
ответ дан 21 August 2018 в 05:36

Это проблема DNS. Проверьте файл /etc/resolv.conf.

, например, в моем случае, когда у меня была эта проблема & amp; проверил этот файл, файл был пуст! но он должен содержать ваш dns-nameserver

mine:

nameserver 192.168.10.x

192.168.10.x is my gateway ip address

0
ответ дан 21 August 2018 в 05:36
  • 1
    Добро пожаловать в AskUbuntu! Если вы хотите помочь, сделайте более подробный ответ. Я имею в виду, охватывают наиболее возможные сценарии и способы перехода или ссылки на соответствующий учебник. – Danatela 22 July 2013 в 13:19
  • 2
    Не могли бы вы уточнить, что нужно проверить в /etc/resolv.conf? – papukaija 22 July 2013 в 14:01

Иногда, когда вы находитесь за прокси-сервером, даже необходимо, чтобы вы сгенерировали файл apt.conf в /etc/apt/ и заполнили его конкретными записями, например:

Acquire::http::proxy "http://<yourproxyserver>:<Port>";
Acquire::https::proxy "http://<yourproxyserver>:<Port>";
Acquire::ftp::proxy "http://<yourproxyserver>:<Port>";

Если требуется аутентификация, файл конфигурации выглядит так:

Acquire::http::proxy "http://<domain\user>:<password>@<yourproxyserver>:<Port>";
Acquire::https::proxy "http://<domain\user>:<password>@<yourproxyserver>:<Port>";
Acquire::ftp::proxy "http://<domain\user>:<password>@<yourproxyserver>:<Port>";
3
ответ дан 21 August 2018 в 05:36

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

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