Обновление apt-get очень медленное, застряло на «Ожидание заголовков»


64

Я посмотрел на похожие вопросы:

Застрял на 0% [в ожидании заголовков]

Обновление apt-get застряло на «Ожидание заголовков» при использовании Windows XP ICS

Однако ни один из них не отвечает на мою проблему.

Я использую 12.04 AMD64, и недавно у меня возникла проблема, заключающаяся в том, что когда я обновляю свои репозитории из своего домашнего подключения через терминал с помощью обновления sudo apt-get, это происходит вечно (буквально через 2 часа это было на уровне 28%), однако когда я бегу из другого места, это займет не более 5 минут.

Я попытался изменить, какое зеркало я использую, но это не решает проблему. Я также сократил то, что находится в моем списке источников, но это также не имеет значения. На моей линии ADSL нет ошибок, так как я уже связался с провайдером, чтобы проверить это. Также не имеет значения, если я использую WiFi или сетевой кабель.

В чем может быть моя проблема?


Скоростной тест (www.speedtest.net) проходит со скоростью примерно 0,9 Мбит / с и 0,42 Мбит / с (что ниже заявленной скорости линии), я живу в Южной Африке и использую сервер UCT LEG. Но я также пробовал другие зеркала, доступные в SA .... ни одно из них не имеет значения.


2
Пожалуйста, сообщите результаты на speedtest.com , и сообщите нам свою страну проживания.
Иш

Ответы:


46

Я нашел решение, которое помогло мне здесь: https://www.kubuntuforums.net/showthread.php?57567-Ubuntu-problems-on-update

Вы можете позволить apt-get восстановить кеш списков, используя:

sudo apt-get clean
cd /var/lib/apt
sudo mv lists lists.old
sudo mkdir -p lists/partial
sudo apt-get clean
sudo apt-get update 

ДА!!! Чистота! Конечно! <facedesk> Спасибо за этого приятеля! : D
Chiramisu

Просто выполнение sudo apt-get cleanработало хорошо для меня несколько раз.
Эндрю Т

43

Похоже, это может быть проблема с репозиториями третьих сторон. Я знаю, что репо Google иногда занимает несколько минут, чтобы ответить здесь. Если у вас настроены сторонние репозитории, откройте диспетчер обновлений, нажмите «Настройки», затем вкладку «Другое программное обеспечение». Снимите все флажки, затем нажмите близко.

Диспетчер обновлений Менеджер обновлений - Другое программное обеспечение

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

sudo apt-get update

Если это лучше, вернитесь и включите каждое репо и перепроверяйте по одному, пока не найдете проблемное репо.

Если это не сработает, вы можете попросить менеджера обновлений выбрать лучшие репо для автоматического использования. Для этого откройте диспетчер обновлений и нажмите «Настройки». Выберите вкладку Ubuntu Software, затем в выпадающем меню «Download from:» выберите Other ...

Диспетчер обновлений - вкладка программного обеспечения Ubuntu

Теперь в появившемся окне нажмите «Выбрать лучший сервер»

Диспетчер обновлений - выберите сервер загрузки

Затем он выполнит несколько тестов, чтобы выбрать лучший сервер для вас. Как только это будет завершено, просто нажмите «Выбрать сервер».

Диспетчер обновлений - выберите сервер загрузки

Теперь запустите терминал и проверьте снова.


Для меня помогите установить его на «Главный сервер».
БГ Бруно

2
Мне помог метод "выбрать лучший сервер". Спасибо
kommradHomer

5

Это в основном из-за «размера MTU», у которого возникла эта проблема некоторое время, и после некоторой глубокой проверки я обнаружил, что мой isp имеет размер mtu 1440, в то время как для интерфейса eth по умолчанию установлено значение 1500.

Чтобы узнать максимальный размер MTU, пожалуйста, смотрите здесь .

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


1
Ваши первая и вторая ссылки кодируются так, чтобы они указывали на второй сайт. Я нашел информацию на сайте dslreports.com описательной и полезной. К сожалению, информация на сайте cyberciti.biz может быть немного устаревшей, и (по крайней мере, здесь) не решает проблему очень хорошо.
Томми Трасселл

2

Я столкнулся с этой проблемой на чужом ноутбуке, который меня попросили обновить. После часа царапин головы проверка / etc / environment показала, что в системе установлен анон-прокси. Удаление это решило проблему.

Итак, проверьте настройки прокси в / etc / environment


1

Если вы synapticустановили, попробуйте запустить apt-get updateвнутри synaptic, нажав «Перезагрузить». Конечно, он также будет зависать, но когда вы прервете его, он напечатает имя хранилища, где он остановился, например:

Failed to fetch http://debian.sur5r.net/i3/dists/quantal/InRelease  
Some index files failed to download. They have been ignored, or old ones used instead.

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


1

Обнаружил, что это обновление apt-get застряло в «Ожидании заголовков» при использовании Windows XP ICS, очень проницательно.

Вы можете попробовать установить и запустить netselect, а также скопировать сгенерированный sources.list в /etc/apt/sources.list

Надеюсь это поможет.


2
Добро пожаловать в Спросите Ubuntu! Хотя это может теоретически ответить на вопрос, было бы предпочтительным включить здесь основные части ответа и предоставить ссылку для справки.
user98085

1

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

cd /etc/apt/apt.conf.d/

Теперь создайте новый файл sudo nano 99selfи введите:

Acquire::http::Pipeline-Depth "0";

3
Добро пожаловать в Аскубунту! Не могли бы вы разработать свой ответ, чтобы объяснить более подробно, почему и как работает ваше решение?
Марк Ванхомиссен

0

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

По каким-либо причинам серверы ретрансляции могут не реагировать как можно быстрее на определенные запросы, поэтому временное переключение на главный сервер для обновления должно исправить это.

Когда вы открываете свое Программное обеспечение и Обновления, выберите «Главный сервер» в опции «Загрузить с».

Тебе должно быть хорошо идти. Переключение на основной сервер всегда работает для меня. :)


0

Эта проблема также может возникнуть, если ваши DNS-серверы не работают должным образом (или если вы настроили неправильные DNS-серверы).

Я побежал cat /etc/resolv.confи понял, что неправильно набрал DNS-сервер. Все работало, как только я обновил конфигурацию DNS моего сетевого интерфейса. :)


0

Просто зайдите в Системные настройки-> Программное обеспечение и обновления и переключите сервер, который отлично работает для меня. Я предполагаю, что мой последний выбранный сервер сломался по неизвестным причинам.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.