apt-get update застряг на "Очікування заголовків" під час використання Windows XP ICS


13

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

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

Якщо ви зачекаєте його (ціле оновлення зайняло близько 4 годин), оновлення все-таки закінчується невдачею, оскільки на хорошій частині звернень відображається повідомлення "не в змозі підключитися" або подібне повідомлення, незважаючи на те, що я можу пінг-сервер із ПК просто штрафу.

Проблема також не пов’язана з дзеркалом, яке використовується, оскільки я без успіху пробував близько десятка дзеркал, я навіть намагався прокоментувати все, окрім mainзапису в source.list, і він все ще відмовляється від оновлення.

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

Єдине, що дивно в налаштуваннях - це те, що ПК підключається до Інтернету через мій ноутбук Windows з ICS, налаштованим належним чином, але, як я вже говорив раніше, мережне підключення нормально.


Спробуйте виконати наступні команди у своєму терміналі sudo dpkg --configure -aіsudo apt-get update && sudo apt-get upgrade
karthick87

Підключення через ICS звучить як неприємність, що чекає, якщо трапляється, особливо якщо одним із посилань є WiFi. Чи можливо підключитись безпосередньо?
msw

@msw на даний момент, але в мене склалося враження, що ICS - це лише еквівалент переадресації iptables для Linux, які проблеми можуть це насправді викликати? Якщо припустити, що він працює нормально інакше (що це таке).
катастрофа

У мене мало досвіду роботи з ICS, тому що я ніколи не вважав його достатньо надійним для будь-яких цілей, а зважаючи на поганий адміністративний (налагоджений) доступ до всієї підтримки Microsoft, я вважаю, що це призведе до головних болів. Ваш досвід нижче, здається, трохи підтверджує моє припущення.
msw

Відповіді:


9

Здається, є основоположна проблема із впровадженням ICS та IP-переадресації взагалі на Windows XP, вона просто не може обробляти декілька підключень до одного сервера, можливо, це якась дивна комбінація помилки з навмисною некомпетентністю (як я це люблю називати) , але кінцевим результатом є те, що XP не може функціонувати як компетентний маршрутизатор / проксі для системи Linux (можливо, обмеження навмисно встановлюються для систем, що не мають Windows).

Цікаво відзначити, що це не обмежується лише ICS. У реєстрі Windows є прихована опція, яка дозволяє пересилати IP для мережевих інтерфейсів, і вона страждає від тієї ж проблеми.

Єдине рішення - як видається, - це або змінити топологію мережі, щоб уникнути використання ICS (або безпосередньо підключитися, або придбати виділений комутатор / точку доступу), або використовувати іншу ОС для встановлення тимчасового мосту. Я використовував ubuntu live-cd (це був не мій комп'ютер, або він би запустив якийсь * nix для початку) і включив переадресацію пакетів та ip маскування, щоб комп'ютер поводився як сумлінний маршрутизатор.


3

В Інтернеті є чутки (я не можу їх перевірити) про проблеми ІСС з 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 та перезавантажте.


Здається, винуватцем цього є ICS, однак ваша пропозиція цього не виправила. Після підключення комп'ютера безпосередньо все працювало так, як очікувалося. Тепер, коли в мене оновлено сховища, я навіть не можу зробити apt-get installICS ... хм.
катастрофа

Можливо, у ICS є проблема з великою (або може бути скромною) кількістю одночасних підключень до того ж сервера.
Хав'єр Рівера

Вам не потрібно перезавантажуватись: після зміни sysctl.conf введіть, sysctl -aі ви готові йти. Ви також можете скоротити введення тексту, використовуючи тут документ замість того, щоб весь час переходити з відлуння.
Май
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.