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

Я настраиваю сервер Maverick на запасном ПК. Установка завершается нормально, и система загружается в оболочку. Однако, когда я пытаюсь сделать apt-get update, apt зависает почти на каждой записи с сообщением 99% [Waiting for headers], иногда в крайнем правом углу появляется сообщение 96 b/s. Фактический процент, который это требует, также изменяется.

Поиск в Интернете дал потенциальное решение при использовании опции Acquire::http::Pipeline-Depth="0", это несколько облегчает проблему, то есть останавливается на каждой другой записи с тем же сообщением, что и выше.

Если вы подождете (все обновление заняло около 4 часов), обновление все равно не будет выполнено, поскольку значительная часть обращений показывает сообщение «невозможно подключиться» или подобное сообщение, несмотря на то, что я могу пропинговать сервер с ПК просто отлично.

Проблема также не связана с используемым зеркалом, так как я безуспешно пробовал около дюжины зеркал, я даже пытался закомментировать все, кроме записи main в sources.list, и она все еще отказывается обновляться.

С сетевым подключением все в порядке, так как я могу ping и wget (apt не позволит мне установить lynx, пока я не выполню успешное обновление) просто отлично. Я также переустанавливал дистрибутив без удачи.

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

13
задан 14 May 2014 в 07:46

2 ответа

Кажется, есть фундаментальная проблема с реализацией ICS и переадресации IP в целом в Windows XP, она просто не может обрабатывать несколько соединений с одним сервером, может быть, это какая-то странная комбинация ошибки с преднамеренной некомпетентностью (как мне нравится назовите это), но конечный результат заключается в том, что XP не может функционировать как компетентный маршрутизатор / прокси для системы linux (возможно, ограничения преднамеренно установлены для систем, отличных от Windows).

Интересно отметить, что это не ограничивается только ICS. В реестре Windows есть скрытая опция, которая позволяет пересылку IP для сетевых интерфейсов, и она страдает от той же проблемы.

Единственное решение - как представляется, - это либо изменить топологию сети, чтобы избежать использования ICS (либо подключение напрямую, либо покупка выделенного коммутатора / точки доступа), либо использовать другую ОС для настройки временного моста. Я использовал Ubuntu Live-CD (это был не мой компьютер, или он должен был запускать * nix) и включил переадресацию пакетов и маскировку IP-адресов, чтобы компьютер вел себя как добросовестный маршрутизатор.

0
ответ дан 14 May 2014 в 07:46

В Интернете ходят слухи (я не могу их проверить) о проблемах ICS с IP6. Они сказали, что когда ICS получает более одного соединения IP6, он на некоторое время останавливается. Это может объяснить, почему работает wget (только одно соединение), а обновление apt-get завершается неудачно (много одновременных соединений).

Вы можете попытаться отключить IP6 на своем сервере, чтобы проверить, является ли это проблемой.

Вы можете отключить IP6 от терминала с помощью:

echo "#disable ipv6" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.all.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.default.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf
echo "net.ipv6.conf.lo.disable_ipv6 = 1" | sudo tee -a /etc/sysctl.conf

Затем перезагрузить и проверить, можно ли обновить. Если это работает, по крайней мере, вы знаете, где проблема. Вы можете либо отключить IP6 постоянный, либо запланировать новую настройку. Обратите внимание, что отключение IP6 будет временным взломом, IP6 кажется неизбежным в ближайшем будущем.

Чтобы снова включить IP6, удалите предыдущие строки из /etc/sysctl.conf и перезагрузитесь.

0
ответ дан 14 May 2014 в 07:46

Другие вопросы по тегам:

Похожие вопросы: