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

Err http://archive.canonical.com natty InRelease    Err http://security.ubuntu.com oneiric-security InRelease               Err http://extras.ubuntu.com natty InRelease                            Err http://security.ubuntu.com oneiric-security Release.gpg  Temporary failure resolving ‘security.ubuntu.com’Err http://archive.canonical.com natty Release.gpg  Temporary failure resolving ‘archive.canonical.com’Err http://extras.ubuntu.com natty Release.gpg  Temporary failure resolving ‘extras.ubuntu.com’Err http://gb.archive.ubuntu.com oneiric InReleaseErr http://gb.archive.ubuntu.com oneiric-updates InReleaseErr http://gb.archive.ubuntu.com natty-backports InReleaseErr http://gb.archive.ubuntu.com oneiric Release.gpg  Temporary failure resolving ‘gb.archive.ubuntu.com’Err http://gb.archive.ubuntu.com oneiric-updates Release.gpg  Temporary failure resolving ‘gb.archive.ubuntu.com’Err http://gb.archive.ubuntu.com natty-backports Release.gpg  Temporary failure resolving ‘gb.archive.ubuntu.com’Reading package lists... DoneW: Failed to fetch http://gb.archive.ubuntu.com/ubuntu/dists/oneiric/InRelease      W: Failed to fetch http://gb.archive.ubuntu.com/ubuntu/dists/oneiric-updates/InRelease  W: Failed to fetch http://gb.archive.ubuntu.com/ubuntu/dists/natty-backports/InRelease  W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/oneiric-security/InRelease  W: Failed to fetch http://archive.canonical.com/ubuntu/dists/natty/InRelease  W: Failed to fetch http://extras.ubuntu.com/ubuntu/dists/natty/InRelease  W: Failed to fetch http://archive.canonical.com/ubuntu/dists/natty/Release.gpg  Temporary failure resolving ‘archive.canonical.com’W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/oneiric-security/Release.gpg  Temporary failure resolving ‘security.ubuntu.com’W: Failed to fetch http://extras.ubuntu.com/ubuntu/dists/natty/Release.gpg  Temporary failure resolving ‘extras.ubuntu.com’W: Failed to fetch http://gb.archive.ubuntu.com/ubuntu/dists/oneiric/Release.gpg  Temporary failure resolving ‘gb.archive.ubuntu.com’W: Failed to fetch http://gb.archive.ubuntu.com/ubuntu/dists/oneiric-updates/Release.gpg  Temporary failure resolving ‘gb.archive.ubuntu.com’W: Failed to fetch http://gb.archive.ubuntu.com/ubuntu/dists/natty-backports/Release.gpg  Temporary failure resolving ‘gb.archive.ubuntu.com’W: Some index files failed to download. They have been ignored, or old ones used instead.

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

обзор

Ваш вопрос состоит из двух частей:

  • фиксирующий временное решение сообщения
  • исправление проблем с управлением пакетами

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

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

  • временно из-за того, что ваш интернет-провайдер неправильно перенаправляет имена Интернета (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.

источник

Другим примером DNS-сервера, который вы могли бы использовать, является OpenDNS - например:

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

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

В дополнение к временное решение проблемы - у вас есть несколько проблем с управлением пакетами, которые необходимо исправить - я предполагаю, что вы недавно пытались перейти с одной версии 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.

Вы можете прокомментировать неразрешенное хранилище из источников файлов.список найден в каталоге /etc/apt/

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

apt-get clean

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

apt-get update

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

Обратите внимание, что этот ответ был написан для старых версий 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.

Эта проблема также может быть вызвана неправильным именем интерфейса. Например, a Temporary failure resolving сообщение об ошибке может быть вызвано интерфейсом, который не имеет имени eth0 но неправильно назван eml вместо.


Другой способ решить проблему Temporary failure resolving сообщение об ошибке появляется при выборе другого зеркала сервера обновлений.

  1. Откройте Программное обеспечение и обновления на панели инструментов и выберите Программное обеспечение Ubuntu вкладка -> из выпадающего меню справа от Скачать с: выбирать Другой....

    Software & Updates

  2. Нажмите кнопку Выбрать Выберите Лучший Сервер кнопка для выбора наилучшего сервера загрузки.

    Select best server

  3. Будет проведена серия тестов, чтобы найти лучшее зеркало для вашего местоположения.

    enter image description here

  4. Щелчок Выберите Сервер чтобы выбрать рекомендуемый сервер.

Иногда, когда вы находитесь за прокси-сервером, даже необходимо, чтобы вы сгенерировали 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>";

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

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

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

мой:

nameserver 192.168.10.x

192.168.10.x is my gateway ip address

Принятое решение для меня не работает. Во-первых, только 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, но это тоже не помогло.

Когда—то давно я столкнулся именно с такой проблемой - он был отправлен вместе с контейнером. Потратив впустую 15 минут, я, наконец, понял, что это связано с неправильно установленными разрешениями для /etc/resolv.conf:

root@4ceb6b9e64bc:/usr/lib/apt# ls -l /etc/resolv.conf-rw-r-----+ 1 root root 19 Feb 24 06:05 /etc/resolv.conf

Исправление так же тривиально, как chmod 644 конечно.

одной из возможных причин появления сообщений об ошибках является отсутствие подключения к Интернету. Вы можете увидеть те же сообщения об ошибках, если во время первоначальной установки ubuntu вы решили не выполнять обновления (не подключались к Wi-Fi / Ethernet), которые после завершения установки и перезагрузки могут оставить вас на бесконечном экране анимации входа в ubuntu (наблюдая за этими движущимися точками)... Вы увидите приведенные выше сообщения об ошибках, если вы сейчас загрузитесь в систему восстановления и при появлении запроса root. apt-get update даже после того, как вы включите сеть из Recovery, которая не позволяет вам подключаться к Wi-Fi, если вы избегали Wi-Fi во время первоначальной установки.

Решение для этого конкретного случая edge: подключите кабель Ethernet, затем загрузитесь в режим восстановления и выполните apt-get update или же переустановите с нуля и убедитесь, что вы включили обновления

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