Я установил ядро Ubuntu mainline 4.0 на свой 64-разрядный Ubuntu 14.04 с ASUS PCE-N15, и все будет намного лучше! iwconfig сообщает 54 Мб / с вместо 1 Мб / с!
Вы можете прокомментировать нерешенное репо из файла sources.list, найденного в каталоге dir / etc / apt /
. После изменения sources.list очистите repo 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>";
У меня возникли подобные ошибки при запуске команд apt-get. Оказывается, на консоли была открыта панель обновления программного обеспечения. Это, казалось, блокировало командную строку apt-get, но я не уверен.
Это проблема DNS. Проверьте файл /etc/resolv.conf.
, например, в моем случае, когда у меня была эта проблема & amp; проверил этот файл, файл был пуст! но он должен содержать ваш dns-nameserver
mine:
nameserver 192.168.10.x
192.168.10.x is my gateway ip address
У меня была эта ошибка. После подсказки от поддержки Linode я прокомментировал все строки IPv6 в / etc / hosts, а затем apt-get update начал работать.
Для тех, кто использует EC2, не забудьте проверить, что ваши параметры группы безопасности позволяют исходящие подключения к веб-сайтам, которые вы обновляете. Вы можете установить все параметры исходящего трафика и посмотреть, работает ли он.
Принятое решение не работает для меня. Во-первых, только 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, но это тоже не помогло.