Обновлению 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, Я сделал обновление на моем экземпляре вчера и сейчас испытываю это.
17 ответов
обзор
Ваш вопрос состоит из двух частей:
- исправление сообщений временного разрешения
- решение проблем управления пакетами
Временное решение
Вполне вероятно, что эта проблема либо:
- временно из-за того, что ваш интернет-провайдер неправильно перенаправляет интернет-имена (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). Если первый номер послеnameserver127, значит, на вашем компьютере есть ретранслятор DNS (это хорошо), и вы должны настроить этот ретранслятор DNS, а не изменять/etc/resolv.conf, В современных версиях Ubuntu по умолчанию есть ретранслятор DNS, это Dnsmasq, и он управляется D-Bus.
У меня была аналогичная проблема, я пробовал много предлагаемых решений, но моя проблема исчезла после того, как я перезагрузил виртуальную машину.
Эта проблема также может быть вызвана неправильным именем интерфейса. Например, Temporary failure resolving сообщение об ошибке может быть вызвано интерфейсом, который не назван eth0 но неправильно назван eml вместо.
Иногда, когда вы находитесь за прокси-сервером, даже необходимо, чтобы вы генерировали 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
Когда-то я встречал именно эту проблему — она была отправлена с контейнером. Потратив 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конечно.
Принятое решение не работает для меня. Во-первых, только 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, но это тоже не помогло.
В настоящее время я испытываю эту же проблему, и ни одно из вышеперечисленных решений не сработало. Я заметил, что APT пытается загрузить некоторые пакеты DEB с
br.archive.ubuntu.com, который перенаправляет на
ubuntu.c3sl.ufpr.br(IPv4
200.236.31.4), но этот сервер в настоящее время не работает .
Итак, в моем случае проблема была устранена запуском Synaptic (установите его с помощью
sudo apt install synaptic -yа затем либо запустите его с помощью
sudo synapticили запустите его непосредственно из панели приложений), затем нажмите Settings => Repositories => UbuntuSoftware => Download from: и выберите Main server, затем нажмите Closeкнопку и, наконец, нажмите Reloadкнопку.
В моем случае описанная выше процедура привела к тому, что APT загрузил обновленный список пакетов DEB с основного сервера репозитория archive.ubuntu.com , а не с сервера, расположенного в моей стране.
Я получил ту же проблему в виртуальной машине VMware, хост и гостя оба Ubuntu. Я решил проблему с изменением настроек виртуальной машины. Вместо использования NAT я установил Bridged. У меня сработало
Просто добавьте еще одну последнюю проверку случая. В моей системе по какой-то причине, когда системная дата сильно рассинхронизировалась, это приводило к тем же проблемам с разрешением DNS. У меня был случай, когда моя дата каким-то образом была установлена на 2000 год. Чтобы проверить дату, просто используйте команду
dateчтобы убедиться, что вы синхронизированы.
В сообщениях об ошибках должно быть сказано, что у вас нет подключения к интернету. Вы можете увидеть те же сообщения об ошибках, если во время начальной установки Ubuntu вы решили не выполнять обновления (не подключались к Wi-Fi/ Ethernet), которые после завершения установки и перезагрузки могут оставить вас на бесконечном экране анимации входа в Ubuntu (наблюдая за этими движущимися точками) ... Вы увидите выше сообщения об ошибках, если вы сейчас загрузитесь в Recovery и при появлении запроса root apt-get update даже после включения сети из Recovery, которая не позволяет подключаться к Wi-Fi, если вы избегали Wi-Fi во время первоначальной установки.
Решение этого конкретного крайнего случая: подключите кабель Ethernet, затем загрузитесь в Recovery и выполните apt-get update или переустановите с нуля и убедитесь, что вы включите обновления
Основная проблема - если вы не подключались к Wi-Fi во время установки, поэтому вы избегали обновлений пакетов, вам не будет предложено войти в систему через Wi-Fi во время загрузки восстановления - это должно быть исправлено... также выше сообщения об ошибках должны просто сказать, что у вас нет Интернета соединение
У меня возникли похожие ошибки при запуске apt-get команды. Оказывается, у меня на консоли была открыта панель обновления программного обеспечения.
Это, казалось, блокирует командную строку apt-get, но я не уверен.
У меня была эта ошибка. Следуя совету поддержки Linode, я закомментировал все строки IPv6 в /etc/hosts, а затем начало работать обновление apt-get.
Для тех, кто использует EC2, не забудьте проверить, что настройки вашей группы безопасности разрешают исходящие соединения с веб-сайтами, с которых вы обновляетесь. Вы можете установить весь исходящий трафик и посмотреть, работает ли он.
Пожалуйста, проверьте память жесткого диска. Моя память была почти заполнена, поэтому у меня была эта ошибка, после очистки памяти я могу выполнить обновление apt-get