Обновлению 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 InRelease
Err http://gb.archive.ubuntu.com oneiric-updates InRelease
Err http://gb.archive.ubuntu.com natty-backports InRelease
Err 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... Done
W: 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
, Я сделал обновление на моем экземпляре вчера и сейчас испытываю это.
12 ответов
обзор
Ваш вопрос состоит из двух частей:
- исправление сообщений временного разрешения
- решение проблем управления пакетами
Временное решение
Вполне вероятно, что эта проблема либо:
- временно из-за того, что ваш интернет-провайдер неправильно перенаправляет интернет-имена (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) до Онейрик (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
,
Вы можете прокомментировать неразрешенный репозиторий из файла sources.list, найденного в каталоге dir / 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.
Иногда, когда вы находитесь за прокси-сервером, даже необходимо, чтобы вы генерировали 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
У меня была эта ошибка. Следуя совету поддержки Linode, я закомментировал все строки IPv6 в /etc/hosts, а затем начало работать обновление apt-get.
У меня возникли похожие ошибки при запуске apt-get
команды. Оказывается, у меня на консоли была открыта панель обновления программного обеспечения.
Это, казалось, блокирует командную строку apt-get
, но я не уверен.
Принятое решение не работает для меня. Во-первых, только 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, но это тоже не помогло.
В сообщениях об ошибках должно быть сказано, что у вас нет подключения к интернету. Вы можете увидеть те же сообщения об ошибках, если во время начальной установки Ubuntu вы решили не выполнять обновления (не подключались к Wi-Fi/ Ethernet), которые после завершения установки и перезагрузки могут оставить вас на бесконечном экране анимации входа в Ubuntu (наблюдая за этими движущимися точками) ... Вы увидите выше сообщения об ошибках, если вы сейчас загрузитесь в Recovery и при появлении запроса root apt-get update
даже после включения сети из Recovery, которая не позволяет подключаться к Wi-Fi, если вы избегали Wi-Fi во время первоначальной установки.
Решение этого конкретного крайнего случая: подключите кабель Ethernet, затем загрузитесь в Recovery и выполните apt-get update
или переустановите с нуля и убедитесь, что вы включите обновления
Основная проблема - если вы не подключались к Wi-Fi во время установки, поэтому вы избегали обновлений пакетов, вам не будет предложено войти в систему через Wi-Fi во время загрузки восстановления - это должно быть исправлено... также выше сообщения об ошибках должны просто сказать, что у вас нет Интернета соединение
Для тех, кто использует EC2, не забудьте проверить, что настройки вашей группы безопасности разрешают исходящие соединения с веб-сайтами, с которых вы обновляетесь. Вы можете установить весь исходящий трафик и посмотреть, работает ли он.
Я получил ту же проблему в виртуальной машине VMware, хост и гостя оба Ubuntu. Я решил проблему с изменением настроек виртуальной машины. Вместо использования NAT я установил Bridged. У меня сработало
Пожалуйста, проверьте память жесткого диска. Моя память была почти заполнена, поэтому у меня была эта ошибка, после очистки памяти я могу выполнить обновление apt-get
Эта проблема также может быть вызвана неправильным именем интерфейса. Например, Temporary failure resolving
сообщение об ошибке может быть вызвано интерфейсом, который не назван eth0
но неправильно назван eml
вместо.