a conexão com archive.ubuntu.com leva muito tempo

50

Eu tenho um servidor Ubuntu 11.10 que acabei de instalar fresco. Agora, se eu tentar fazer alguma coisa apt-get, ele tenta se conectar archive.ubuntu.com. Ele permanece na [Connecting to archive.ubuntu.com (2001:67c:1360:8c01::1a)]fase por 2 minutos, após o qual realmente começa a se comunicar e baixar coisas ...

Eventualmente, ele sempre se conecta, mas aguarda na [Connecting to archive.ubuntu.com (2001:67c:1360:8c01::1a)]fase todas as vezes por 2 minutos!

Eu não tive esse problema anteriormente no Ubuntu 11.10, logo após reinstalar o SO.

Alguma idéia sobre qual pode ser o problema?

Ahmad
fonte
Gostaria de saber se isso tem a ver com o fato de você estar usando IPv6. Você está em uma rede IPv6?
Thomas Ward
Não, eu não penso assim. Eu não configurou qualquer coisa ..
Ahmad
Os IPs nas mensagens incluídas são IPv6. Isso sugere que ele está usando IPv6, e se eu "m não engano não há que muitos servidores IPv6 para o arquivo.
Thomas Ward
11
@ Ahmad Como você resolveu o problema e escreveu a solução, poste-a como resposta (e você pode editá-la também). Observe que você não precisa esperar para fazer isso; somente usuários com menos de 100 reputação devem esperar antes de responder suas próprias perguntas. Você pode até marcar sua própria resposta como aceita (embora seja necessário aguardar até dois dias após a publicação da pergunta).
Eliah Kagan 26/03
Feito .. Agora eu só tenho que esperar por 22 horas, a fim de ser capaz de aceitar a minha própria resposta :)
Ahmad

Respostas:

87

Eu resolvi isso na 12.10 editando o /etc/gai.conf e descomentando a linha:

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

Isso permite manter o IPv6 ativado, mas define a ordem de precedência para preferir o IPv4 ao IPv6.

UberSteve
fonte
13
Im não suposto a escrever ty como um comentário, mas eu acho que deve ser dito ur my hero tytytytytyty
MageProspero
11
Esta é a resposta
kbuilds
3
Confirmado no Ubuntu 14.04 / ElementaryOS freya também!
precisa
2
perfeito! trabalhou um charme!
John
2
Ainda válido para o Xubuntu 15.04
Dag
16

Solução:

Eu descobri o problema. Eu tive que desativar a conectividade IPv6, como o Lord Of Time apontou.

A execução do seguinte comando no Terminal informa se o IPv6 está ativado ou não:

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

0significa ativado, enquanto 1desativado.

Para desativar o IPv6 de dentro do Terminal, digite o seguinte:

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

Execute novamente o primeiro comando, e deve ser 1agora.

Ahmad
fonte
Eu não tenho esse arquivo ...
amadib 25/06
Desabilitar o IPv6 não é uma solução. É uma solução alternativa. Precisamos do IPv6 e desativá-lo definitivamente não é recomendado. As soluções corretas estão forçando o APT a usar apenas o ipv4 ou definindo a precedência, conforme mostrado na solução superior.
Mniess # 13/16
7

Se você deseja modificar apenas o apt-get, pode forçar o IPv4 com:

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

Para tornar a configuração persistente, crie o arquivo 99force-ipv4 em /etc/apt/apt.conf.d/.

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

Coloque o seguinte conteúdo nele:

Acquire::ForceIPv4 "true";

Salve o arquivo e pronto. Se você deseja forçar o IPv6, altere 4 para 6 no nome do arquivo e nas configurações. Para escolher entre um deles, teste com o método rápido e veja qual funciona melhor.

Lucas
fonte