apt-get parado em 0 [Conectando-se a us.archive.ubuntu.com]

164

Quando eu atualizo, ele fica preso aqui:

user@plato:~# sudo apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  bind9-host coreutils cpio curl dnsutils libbind9-90 libc-bin libc-dev-bin
  libc6 libc6-dev libcgmanager0 libcurl3 libcurl3-gnutls libdns100
  libdrm-intel1 libdrm-nouveau2 libdrm-radeon1 libdrm2 libisc95 libisccc90
  libisccfg90 libjasper1 liblwres90 libplymouth2 libsepol1 libssl-dev
  libssl-doc libssl1.0.0 linux-libc-dev mime-support multiarch-support ntp
  ntpdate openssl plymouth plymouth-theme-ubuntu-text python3-distupgrade
  ubuntu-release-upgrader-core unzip
39 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 16.0 MB of archives.
After this operation, 12.3 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
0% [Connecting to us.archive.ubuntu.com (2001:67c:1562::15)] ░

Quando eu atualizo, ele fica preso aqui:

user@plato:~# apt-get update
0% [Connecting to us.archive.ubuntu.com (2001:67c:1562::14)] [Connecting to sec░

Eu sou capaz de executar o ping us.archive.ubuntu.com:

user@plato:~# ping us.archive.ubuntu.com
PING us.archive.ubuntu.com (91.189.91.23) 56(84) bytes of data.
64 bytes from economy.canonical.com (91.189.91.23): icmp_seq=1 ttl=54 time=81.5 ms
64 bytes from economy.canonical.com (91.189.91.23): icmp_seq=2 ttl=54 time=81.5 ms
64 bytes from economy.canonical.com (91.189.91.23): icmp_seq=3 ttl=54 time=81.5 ms
64 bytes from economy.canonical.com (91.189.91.23): icmp_seq=4 ttl=54 time=81.4 ms
^C
--- us.archive.ubuntu.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 81.425/81.528/81.582/0.355 ms

Oque posso fazer para consertar isso?


O que eu tentei até agora.

Tentei seguir as instruções deste blog: http://nickescobedo.com/719/ubuntu-apt-get-hangs-at-0

Para forçar o apt-get a usar o IPv4 exclusivamente

  • Crie um arquivo no /etc/apt/apt.conf.d/99force-ipv4
  • Adicione esta linha ao arquivo recém-criado Acquire::ForceIPv4 false;
  • O Apt-get agora usará exclusivamente o IPv4
Arian Faurtosh
fonte
Nenhuma das respostas funcionou para mim: meu problema era o firewall do Windows que estava bloqueando meu convidado do Ubuntu em execução no Virtualbox.
drodsou
Nenhuma dessas respostas funcionou para mim. Reiniciei minha máquina virtual e ela funciona agora.
quilojoules

Respostas:

309

Eu descobri como fazer o apt-começar a trabalhar novamente.

Editar gai.conf:

sudo vim /etc/gai.conf

altere a linha ~ 54 para descomentar o seguinte:

precedence ::ffff:0:0/96  100

escreva e saia:

:wq

CUIDADO

Observe a linha 50, que parece quase idêntica:

precedence ::ffff:0:0/96  10

Esta é a linha errada. Vá ~ 4 linhas para baixo e você encontrará a linha correta para descomentar, porque termina com em 100vez de10

Arian Faurtosh
fonte
11
Obrigado por postar sua solução. Eu estava tendo o mesmo problema e isso foi corrigido.
Bradym
55
Como você descobriu isso? De repente, isso começou a acontecer comigo em um dos meus servidores e foi corrigido.
Brian Neal
4
O que está acontecendo aqui? Gostaria de explicar por que essa correção funciona?
four43
53
Problema: os ISPs estão começando a configurar uma rede IPv6 interna em preparação para eventualmente se conectar à Internet IPv6. Como resultado, os servidores nesta rede agora tentam se conectar ao * .ubuntu.com por meio do endereço IPv6 por padrão ao executar o apt-get. Solução: descomentando precedence ::ffff:0:0/96 100permite que as solicitações a preferir IPv4
Arian Faurtosh
8
FIXO! Esta é definitivamente a correção correta para esse problema. Mas, para qualquer pessoa que se deparar com essa correção, não faça o que eu fiz. Eu uncommented precedence ::ffff:0:0/96 10e eu tive que voltar para o arquivo e comentar essa linha novamente e, em seguida, remover o comentário da linha correta que éprecedence ::ffff:0:0/96 100
dtigue
14

É melhor desativar o IPV6 antes de atualizar e atualizar.

  1. Terminal Aberto

  2. Digite sudo -H gedit /etc/sysctl.confe abra o arquivo de configuração e adicione as seguintes linhas no final

    net.ipv6.conf.all.disable_ipv6 = 1
    net.ipv6.conf.default.disable_ipv6 = 1 
    net.ipv6.conf.lo.disable_ipv6 = 1 
    
  3. Depois dessa corrida

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

    Se informar '1' significa que você desabilitou o IPV6.

    Se o relatório for '0', siga as etapas 4 e 5.

  4. Digite o comando sudo sysctl -p. Você verá isso no terminal.

    net.ipv6.conf.all.disable_ipv6 = 1 
    net.ipv6.conf.default.disable_ipv6 = 1 
    net.ipv6.conf.lo.disable_ipv6 = 1 
    
  5. Repita acima da "Etapa 3" e agora será o relatório 1.

Sudhir Belagali
fonte
isso funcionou.Eu não entendi o porquê. Você pode explicar por favor?
AAI
6

Nenhuma das correções do IPv6 funcionou para mim. Possivelmente tenho o mesmo sintoma com uma causa diferente. Minha solução alternativa foi alternar para um arquivo diferente fazendo uma pesquisa e substituindo no sources.list, por exemplo:

sudo vim /etc/apt/sources.list

E depois:

:%s/us\.archive/de\.archive/g
:wq

Isso pelo menos me permite voltar ao trabalho até descobrir o problema real.

Rob Fisher
fonte
1

O que funcionou para mim foi mudar minhas configurações de rede VirtualBox para meu convidado do Ubuntu para "NAT" de "Bridged Adapter".

user994165
fonte
Sim, isso deve funcionar. Mas, por que não funciona sobre o 'Bridged Adapter'. Eu sou capaz de fazer tudo com o 'Bridged Adapter', exceto apt-get update.
soufrk 13/0318