Problemas com o cURL ao atualizar o Opensuse
Recentemente decidi voltar ao GNU Linux para retomar meus estudos de Ruby on Rails e Mono. Não que o Vagrant não pudesse me atender adequadamente, mas almejava uma imersão maior na plataforma. Fora que fazer praticamente tudo do meu jeito e deixá-lo como quero são coisas que tenho sentido falta no Windows. Após a instalação da distribuição Opensuse, me deparei com o seguinte erro ao tentar atualizar os pacotes:
Download (curl) error for 'http://download.opensuse.org/distribution/13.2/repo/non-oss/content':
Error code: Connection failed
Error message: Failed to connect to download.opensuse.org port 80: Network is unreachable
Abort, retry, ignore? [a/r/i/? shows all options] (a):
Após pesquisar um pouco sobre a falha, encontrei no forum do opensuse a resposta: o curl tenta resolver os nomes como IPV6 por padrão, protocolo que no momento em que escrevo este post ainda não foi totalmente adotado no Brasil. Para resolver, basta forçar que o sistema utilize o IPV4 por padrão:
Adicionar as linhas abaixo no arquivo /etc/sysctl.conf:
#disable ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
Executar o comando abaixo como sudo su
:
echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
Reiniciar o sistema de pronto. Aqui funcionou. Caso precise de mais ajuda acompanhe a thread do fórum oficial do opensuse abaixo
Referências:
Discussão sobre a falha no fórum oficial (inglês): https://forums.opensuse.org/showthread.php/502176-YaST-is-unable-to-connect-to-repository-server-openSUSE-13-2?highlight=curlSolução resumida:
http://www.businesscorner.co.uk/disable-ipv6-in-curl-and-php/