Pular para o conteúdo

Recentemente, uma questão estranha vem atrapalhando as distribuições do Linux que usam o apt para se atualizar (em geral as derivadas do Debian).

Ao executar o comando sudo apt-get update (ou sudo apt update), o processo fica parado ao se conectar a qualquer dos repositórios padrão ou lento ao rastrear e baixar cabeçalhos durante o processo de atualização.

Depois de muitas tentativas de solução e de perseguir pistas falsas (como problemas de DNS, cache e gateway), finalmente, as buscas pela Internet apontaram para uma solução surpreendente.

Anteriormente a solução era mudar o servidor para baixar as atualizações, alterando sources.list (/etc/apt/source.list). Em circunstâncias normais, isso corrigia os problemas, mas não agora.

O problema

Demorou bastante tempo para descobrir isso, mas o problema está no IPv6.

Com o IPv6 ativado, a nova pilha de rede parece tropeçar, especialmente quando tenta atualizar com o apt.

O contorno

Para bloquear uso de IPv6 para operações de atualização (update) com o apt, podemos fazer uma adequação na configuração do apt, criando um arquivo (usamos chama-lo de 99force-ipv4) com a diretiva que define uso exclusivo do protocolo IP desejado, como mostrado a seguir:

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

O arquivo deve conter a linha

Acquire::ForceIPv4 "true";

Se for o caso de inibir o uso de IPv4, altere o nome para 99force-ipv6 e use a linha:

Acquire::ForceIPv6 "true";


Caso queira fazê-lo por apenas uma execução existe a possibilidade de uso da opção no comando apt

-o Acquire::ForceIPv4=true

ou

-o Acquire::ForceIPv6=true

conforme o protocolo a ser forçado, como exemplificado para uso de IPv4 a seguir:

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

Até a próxima