la connexion à archive.ubuntu.com prend trop de temps

50

J'ai un serveur Ubuntu 11.10 que je viens d'installer fraîchement. Maintenant, si j'essaie de faire quoi que ce soit avec apt-get, il essaie de se connecter à archive.ubuntu.com.. Il reste en [Connecting to archive.ubuntu.com (2001:67c:1360:8c01::1a)]phase pendant environ 2 minutes, après quoi il commence réellement à communiquer et à télécharger des éléments ...

Finalement, il se connecte toujours, mais attend toujours [Connecting to archive.ubuntu.com (2001:67c:1360:8c01::1a)]environ 2 minutes à la phase!

Je n'avais pas ce problème auparavant sur Ubuntu 11.10, juste après la réinstallation du système d'exploitation.

Des idées sur ce que le problème pourrait être?

Ahmad
la source
Je me demande si cela a à voir avec le fait que vous utilisez IPv6. Êtes-vous sur un réseau IPv6?
Thomas Ward
Non je ne pense pas. Je n'ai pas configuré une telle chose ..
Ahmad
Les adresses IP dans vos messages inclus est IPv6. Cela suggère qu'il utilise IPv6, et si je ne me trompe pas, il n'y a pas beaucoup de serveurs IPv6 pour les archives.
Thomas Ward
1
@Ahmad Puisque vous avez résolu votre problème et écrit la solution, postez-la comme réponse (et vous pourrez ensuite la modifier à partir de votre question également). S'il vous plaît noter que vous n'avez pas besoin d'attendre pour faire cela; seuls les utilisateurs dont la réputation est inférieure à 100 doivent attendre avant de répondre à leurs propres questions. Vous pouvez même marquer votre propre réponse comme acceptée (bien que pour cela vous devez attendre deux jours après que vous ayez posté la question).
Eliah Kagan
Fait .. Il ne me reste plus qu'à attendre 22 heures pour pouvoir accepter ma propre réponse :)
Ahmad

Réponses:

87

J'ai résolu ceci le 12.10 en éditant /etc/gai.conf et en décommentant la ligne:

#
#    For sites which prefer IPv4 connections change the last line to
#
precedence ::ffff:0:0/96 100

Cela vous permet de garder IPv6 activé, mais définit l'ordre de priorité pour préférer IPv4 à IPv6.

UberSteve
la source
13
Je ne suis pas censé écrire un commentaire, mais je pense qu'il faut le dire à mon héros, ttytytytytyty.
MageProspero
1
Ceci est la réponse
kbuilds
3
Confirmé également sur Ubuntu 14.04 / ElementaryOS freya!
oikonomopo
2
parfait! travaillé un charme!
Jean
2
Toujours valable pour Xubuntu 15.04
Dag
16

Solution:

J'ai compris le problème. J'ai dû désactiver la connectivité IPv6, comme l'a souligné The Lord Of Time.

L'exécution de la commande suivante dans Terminal indique si IPv6 est activé ou non:

cat /proc/sys/net/ipv6/conf/all/disable_ipv6

0signifie son activé, tandis que 1signifie son désactivé.

Pour désactiver IPv6 à partir de Terminal, entrez les informations suivantes:

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
sudo sysctl -p

Relancez la première commande, et ça devrait l'être 1maintenant.

Ahmad
la source
Je n'ai pas ce fichier ...
amadib
Désactiver IPv6 n'est pas une solution. C'est une solution de contournement. Nous avons besoin d’IPv6 et sa désactivation n’est absolument pas recommandée. Les solutions correctes obligent APT à utiliser uniquement ipv4 ou définissent la priorité comme indiqué dans la solution supérieure.
mniess
7

Si vous souhaitez uniquement modifier apt-get, vous pouvez forcer IPv4 avec:

apt-get -o Acquire::ForceIPv4=true update

Pour rendre le paramètre persistant, créez le fichier 99force-ipv4 dans /etc/apt/apt.conf.d/.

sudoedit /etc/apt/apt.conf.d/99force-ipv4

Mettez le contenu suivant dedans:

Acquire::ForceIPv4 "true";

Enregistrez le fichier et vous êtes prêt à partir. Si vous souhaitez forcer IPv6 à la place, modifiez les valeurs 4 à 6 dans le nom de fichier et les paramètres. Pour choisir l’un d’entre eux, testez avec la méthode rapide et voyez laquelle fonctionne le mieux.

Luke
la source