Mise à jour apt-get bloquée sur "En attente d'en-têtes" lors de l'utilisation de Windows XP ICS

13

J'installe un serveur Maverick sur un PC de rechange. L'installation se termine bien et le système démarre dans le shell. Cependant, lorsque j'essaie de faire un apt-get update, apt se bloque sur presque chaque entrée avec le message 99% [Waiting for headers]parfois un message de 96 b/sapparaît à l'extrême droite. Le pourcentage réel qu'il prétend varie également.

Autour de la recherche en ligne a une solution potentielle en utilisant l'option Acquire::http::Pipeline-Depth="0"ce peu atténue le problème, à savoir qu'il tombe en panne sur tous les autres entrée avec le même message que ci - dessus.

Si vous attendez (la mise à jour entière a pris environ 4 heures), la mise à jour échoue toujours car une bonne partie des hits affiche un message "incapable de se connecter" ou un message similaire, malgré le fait que je puisse cingler le serveur à partir du PC juste bien.

Le problème est également sans rapport avec le miroir utilisé puisque j'ai essayé une douzaine de miroirs sans succès, j'ai même essayé de tout commenter sauf l' mainentrée dans sources.list et il refuse toujours de se mettre à jour.

La connexion réseau est très bien car je peux cingler et wget (apt ne me laissera pas installer lynx jusqu'à ce que j'exécute une mise à jour réussie) très bien. J'ai également réinstallé la distribution sans succès.

La seule chose bizarre à propos de la configuration est que le PC se connecte à Internet via mon ordinateur portable Windows avec ICS configuré correctement, mais comme je l'ai déjà dit, la connexion réseau est correcte.

crasic
la source
Essayez d'exécuter les commandes suivantes dans votre terminal sudo dpkg --configure -aetsudo apt-get update && sudo apt-get upgrade
karthick87
Une connexion via ICS sonne comme un problème en attente de se produire, surtout si l'un des liens est le WiFi. Est-il possible de se connecter plus directement?
msw
@msw pas actuellement, mais j'avais l'impression qu'ICS est juste l'équivalent du transfert iptables pour linux, quels problèmes pourrait-il vraiment causer? En supposant qu'il fonctionne bien sinon (ce qui est le cas).
crasic
J'ai peu d'expérience avec ICS parce que je ne l'ai jamais pensé assez robuste pour n'importe quel but, et étant donné le faible accès administratif (débogage) à tout le support réseau de Microsoft, j'ai supposé qu'il apporterait des maux de tête. Votre expérience ci-dessous semble confirmer un peu mon hypothèse.
msw

Réponses:

9

Il semble y avoir un problème fondamental avec l'implémentation du transfert ICS et IP en général sur Windows XP, il ne peut tout simplement pas gérer plusieurs connexions au même serveur, c'est peut-être une combinaison étrange d'un bug avec une incompétence intentionnelle (comme j'aime l'appeler) , mais le résultat final est que XP ne peut pas fonctionner comme un routeur / proxy compétent pour un système Linux (peut-être que les limitations sont intentionnellement mises en place pour les systèmes non Windows).

Il est intéressant de noter que cela ne se limite pas uniquement à l'ICS. Il existe une option masquée dans le registre Windows qui permet le transfert IP pour les interfaces réseau et elle souffre du même problème.

La seule solution, semble-t-il, consiste à modifier la topologie du réseau pour éviter d'utiliser ICS (soit en se connectant directement, soit en achetant un commutateur / point d'accès dédié), soit en utilisant un système d'exploitation différent pour configurer le pont temporaire. J'ai utilisé un live-cd ubuntu (ce n'était pas mon ordinateur ou il aurait commencé par exécuter * nix) et j'ai activé le transfert de paquets et le masquage IP pour que l'ordinateur se comporte comme un routeur de bonne foi.

crasic
la source
3

Il y a des rumeurs sur le Web (je ne peux pas les vérifier) ​​concernant des problèmes ICS avec IP6. Ils ont dit que lorsque ICS reçoit plus d'une connexion IP6, il s'arrête pendant un certain temps. Cela pourrait expliquer pourquoi wget fonctionne (une seule connexion) et la mise à jour apt-get échoue (beaucoup de connexions simultanées).

Vous pouvez essayer de désactiver IP6 sur votre serveur pour tester si c'est le problème.

Vous pouvez désactiver IP6 depuis le terminal avec:

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

Redémarrez ensuite et vérifiez si vous pouvez mettre à jour. Si cela fonctionne au moins, vous savez où est le problème. Vous pouvez soit désactiver définitivement IP6, soit planifier une nouvelle configuration. Notez que la désactivation d'IP6 sera un hack temporel, IP6 semble inévitable dans un avenir proche.

Pour réactiver IP6, supprimez les lignes précédentes de /etc/sysctl.conf et redémarrez.

Javier Rivera
la source
ICS semble être le coupable ici, mais votre suggestion ne l'a pas corrigé. Après avoir directement connecté l'ordinateur, tout a fonctionné comme prévu. Maintenant que les référentiels ont été mis à jour, je ne peux même plus faire un apt-get installICS ... hmmm.
crasic
ICS a peut-être un problème avec un nombre important (ou peut-être modeste) de connexions simultanées au même serveur.
Javier Rivera
Vous n'avez pas besoin de redémarrer: après avoir modifié sysctl.conf, tapez sysctl -aet vous êtes prêt à partir. vous pouvez également réduire la saisie en utilisant un document ici au lieu de passer par l'écho tout le temps.
Mei