Um erro de "falha ao buscar" ocorre quando a atualização do apt-get é executada. Como faço para corrigir isso?

42

Ao contrário da nota acima, não encontrei a resposta para o meu problema.

Eu li quase uma dúzia de perguntas sobre atualização do apt-get, a maioria no askubuntu.com, com erros de "falha ao buscar" e tentei as soluções respondidas lá. Infelizmente, nenhum funcionou. Acabei de instalar o Ubuntu 12.04 no meu laptop, inicializando-o duas vezes com o Windows 7. Quando tentei

sudo apt-get update

no terminal, continuava ocorrendo o seguinte:

Err http://ph.archive.ubuntu.com precise InRelease
Err http://ph.archive.ubuntu.com precise-updates InRelease                     
Err http://ph.archive.ubuntu.com precise-backports InRelease                   
Err http://ph.archive.ubuntu.com precise Release.gpg                           
  Unable to connect to ph.archive.ubuntu.com:http: [IP: 91.189.92.177 80]
Err http://ph.archive.ubuntu.com precise-updates Release.gpg            
  Unable to connect to ph.archive.ubuntu.com:http: [IP: 91.189.92.177 80]
Err http://ph.archive.ubuntu.com precise-backports Release.gpg          
  Unable to connect to ph.archive.ubuntu.com:http: [IP: 91.189.92.177 80]
Err http://extras.ubuntu.com precise InRelease                          
Err http://extras.ubuntu.com precise Release.gpg                        
  Unable to connect to extras.ubuntu.com:http:
Err http://security.ubuntu.com precise-security InRelease
Err http://security.ubuntu.com precise-security Release.gpg
  Unable to connect to security.ubuntu.com:http: [IP: 91.189.92.190 80]
Reading package lists... Done
W: Failed to fetch http://ph.archive.ubuntu.com/ubuntu/dists/precise/InRelease  
W: Failed to fetch http://ph.archive.ubuntu.com/ubuntu/dists/precise-updates/InRelease  
W: Failed to fetch http://ph.archive.ubuntu.com/ubuntu/dists/precise-backports/InRelease  
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/precise-security/InRelease  
W: Failed to fetch http://extras.ubuntu.com/ubuntu/dists/precise/InRelease  
W: Failed to fetch http://ph.archive.ubuntu.com/ubuntu/dists/precise/Release.gpg      Unable to connect to ph.archive.ubuntu.com:http: [IP: 91.189.92.177 80]
W: Failed to fetch http://ph.archive.ubuntu.com/ubuntu/dists/precise-updates/Release.gpg  Unable to connect to ph.archive.ubuntu.com:http: [IP: 91.189.92.177 80]
W: Failed to fetch http://ph.archive.ubuntu.com/ubuntu/dists/precise-backports/Release.gpg  Unable to connect to ph.archive.ubuntu.com:http: [IP: 91.189.92.177 80]
W: Failed to fetch http://extras.ubuntu.com/ubuntu/dists/precise/Release.gpg  Unable to connect to extras.ubuntu.com:http:
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/precise-security/Release.gpg  Unable to connect to security.ubuntu.com:http: [IP: 91.189.92.190 80]
W: Some index files failed to download. They have been ignored, or old ones used instead.

Nota :

Isso aconteceu imediatamente após a instalação do Ubuntu 12.04. Eu sou muito novo no mundo Linux / Ubuntu e um noob quando se trata desse tipo de coisa.

A lista de fontes nas configurações do Update Manager (e do Software Center) era curta. Ele continha apenas 2 linhas com "Canonical", 2 linhas com "Independent" e 2 outras linhas. Eu acho que a lista era curta porque era um Ubuntu recém-instalado.

A conexão com a Internet parece boa e meu amigo cujo laptop acabou de ser instalado com o Ubuntu 12.04 na mesma época que o meu, parece não ter problemas com a atualização. Como compartilhamos a mesma conexão, acho que os problemas de conexão com a Internet não poderiam ter sido o motivo do erro.

Tentativas de soluções :

A partir daqui , explorei /etc/resolvconf/resolv.conf.de adicionei /etc/resolvconf/resolv.conf.d/heado seguinte:

nameserver 8.8.8.8
nameserver 8.8.4.4

O erro ainda ocorreu.

A partir daqui e aqui , mudei repetidamente qual servidor Mirror usar nas configurações do gerenciador de atualizações e das fontes de software. Mais uma vez, o erro ainda ocorreu.

Eu também tentei editar minha lista de fontes, desmarcando as linhas com "independente" (como sugerido). De acordo com aqui , tentei remover as derb-srclinhas na lista de fontes. Ainda assim, sem sucesso.

Por fim, este site sugere executar o seguinte:

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null
or, for a permanent solution,
echo "nameserver 8.8.8.8" | sudo tee /etc/resolvconf/resolv.conf.d/base > /dev/null

Infelizmente, nada funcionou para mim. Em todos os fóruns em que estive, a resposta relacionada nameserver 8.8.8.8parece surgir com mais frequência. Observe também que eu realmente não entendi as soluções, o que elas significaram ou como são feitas. Eu simplesmente os segui.

Esta é a saída para cat /etc/apt/sources.list:

# deb cdrom:[Ubuntu 12.04 LTS _Precise Pangolin_ - Release amd64 (20120425)]/ dists/precise/main/binary-i386/

# deb cdrom:[Ubuntu 12.04 LTS _Precise Pangolin_ - Release amd64 (20120425)]/ dists/precise/restricted/binary-i386/
# deb cdrom:[Ubuntu 12.04 LTS _Precise Pangolin_ - Release amd64 (20120425)]/ precise main restricted

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://archive.ubuntu.com/ubuntu precise main restricted
deb-src http://archive.ubuntu.com/ubuntu precise main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://archive.ubuntu.com/ubuntu precise-updates main restricted
deb-src http://archive.ubuntu.com/ubuntu precise-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://archive.ubuntu.com/ubuntu precise universe
deb-src http://archive.ubuntu.com/ubuntu precise universe
deb http://archive.ubuntu.com/ubuntu precise-updates universe
deb-src http://archive.ubuntu.com/ubuntu precise-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
## team, and may not be under a free licence. Please satisfy yourself as to 
## your rights to use the software. Also, please note that software in 
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://archive.ubuntu.com/ubuntu precise multiverse
deb-src http://archive.ubuntu.com/ubuntu precise multiverse
deb http://archive.ubuntu.com/ubuntu precise-updates multiverse
deb-src http://archive.ubuntu.com/ubuntu precise-updates multiverse

## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
deb http://archive.ubuntu.com/ubuntu precise-backports main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu precise-backports main restricted universe multiverse

deb http://archive.ubuntu.com/ubuntu precise-security main restricted
deb-src http://archive.ubuntu.com/ubuntu precise-security main restricted
deb http://archive.ubuntu.com/ubuntu precise-security universe
deb-src http://archive.ubuntu.com/ubuntu precise-security universe
deb http://archive.ubuntu.com/ubuntu precise-security multiverse
deb-src http://archive.ubuntu.com/ubuntu precise-security multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu precise partner
# deb-src http://archive.canonical.com/ubuntu precise partner

## This software is not part of Ubuntu, but is offered by third-party
## developers who want to ship their latest software.
deb http://extras.ubuntu.com/ubuntu precise main
deb-src http://extras.ubuntu.com/ubuntu precise main

E o seguinte é para cat /etc/resolv.conf:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1
search nip.upd.edu.ph

Foi indicado que a resposta está aqui, mas infelizmente isso também não funcionou. Tentei escolher servidores diferentes, mas o "servidor de escolha" nunca estava disponível. A procura do melhor servidor produziu um resultado "Nenhum servidor adequado". Eu acho que os servidores espelho estão bem e, novamente, parece não haver problema com a conexão à Internet.

Usando ping -c3 archive.ubuntu.come ping -c3 8.8.8.8 ambos renderam 0% packet loss. O ping para 8.8.8.8 às vezes produzia, 33% packet lossmas principalmente 0%.

nslookup google.comRendimentos de digitação

Server:     127.0.0.1
Address:    127.0.0.1#53

Saída de ps aux | grep dns:

nobody    1761  0.0  0.0  33012  1284 ?        S    17:04   0:00 /usr/sbin/dnsmasq
 --no-resolv --keep-in-foreground --no-hosts --bind-interfaces --pid-file=/var
/run/sendsigs.omit.d/network-manager.dnsmasq.pid --listen-address=127.0.0.1 --conf-
file=/var/run/nm-dns-dnsmasq.conf --cache-size=0 --proxy-dnssec
joa       2197  0.0  0.0  13576   928 pts/0    S+   17:10   0:00 grep --color=auto dns
jowayow
fonte
Ok, vamos começar do zero. Primeiro, você pode copiar a saída exata do terminal ao digitar sudo apt-get update? Além disso, você pode incluir a saída de cat /etc/apt/sources.liste cat /etc/resolv.conf? E você confirma que pode navegar normalmente na Internet?
Alaa Ali #
@Alaa Em resposta à sua pergunta, editei a pergunta e postei tudo o que você precisava saber. E sim, eu era capaz de navegar normalmente na Internet.
Jowabels
0% de perda de pacotes? Então você pode executar ping e navegar, mas não pode resolver as atualizações do apt-get ... hmm. Existe algum tipo de configuração de DNS que só funciona com o apt-get? De qualquer forma, você pode postar as duas primeiras linhas de nslookup google.come publicar a saída de ps aux | grep dns? Além disso, você está usando um IP estático?
Alaa Ali # 22/13
@ Laa Editei a pergunta e publiquei as saídas. A saída para ps aux | grep dnsdeve ser uma única linha, mas eu a editei para facilitar a visualização. Inicialmente, eu diria que uso um IP dinâmico porque não paguei nada por isso, mas uso conexões de internet universitárias, portanto, é difícil saber se o IP usado é estático ou dinâmico.
Jowabels 22/13 /
@Alaa Acabei de verificar que uso um IP dinâmico.
Jowabels

Respostas:

27

Eu estava enfrentando o mesmo problema e achei que a solução mais fácil é redefinir as fontes de /etc/apt/sources.list. Para fazer isso, execute as seguintes etapas:

  1. Obtenha o lançamento da sua versão do Ubuntu, digite no console:

    lsb_release -r
    
  2. Vá para http://repogen.simplylinux.ch/ para gerar um novosources.list

  3. Selecione seu país e versão
  4. Marque as primeiras 12 caixas:

    Tudo Ubuntu Brances + Segurança e Atualizações

  5. Gere e copie sua nova lista
  6. Faça backup do arquivo antigo para sources.list.old

    mv /etc/apt/sources.list /etc/apt/sources.list.old
    
  7. Agora você pode abrir o vi para salvar a nova lista fazendo:

    vi /etc/apt/sources.list
    (Paste and save using `:wq`)
    

    Ou copiando e colando no seu terminal o comando "curl" (incluindo um URI exclusivo para sua lista de fontes atualizada), conforme apresentado em "Lista de fontes" na página de saída do repogen.

  8. G2G, tente executar novamente apt-get update

RienNeVaPlus
fonte
2
Decidi responder a isso, apesar de o problema dos autores ter sido resolvido de maneira diferente. Sua pergunta é o principal resultado de muitos problemas relacionados a um arquivo source.list corrompido (tropeçou nele três vezes) e pareceu deixar minha solução aqui, pois isso me pouparia muito tempo.
RienNeVaPlus
Eu baixei uma máquina virtual ubuntu 12, e nenhum repositório é válido (italiano). Eu fiz isso e funcionou como um encanto! obrigado!
Feida Kila
Antes de colar vim, você precisará editar o modo de inserção pressionando a letra 'i' depois de abri-lo
sg
Isto é o que funcionou para mim.
Rick
Não há 14.10 na lista de lançamentos :(
JoeTidee 9/09/16
25

Edit /etc/resolv.conf. Em uma janela do Terminal, execute

sudo gedit /etc/resolv.conf

e adicione a linha

nameserver 8.8.8.8

e salve. Então faça

ping www.google.com

Se isso der certo, execute os seguintes comandos

sudo apt-get --download-only --reinstall install resolvconf
sudo dpkg --purge --force-depends resolvconf
sudo apt-get install resolvconf

Se a solução falhar agora , clique com o botão direito do mouse no indicador de rede na barra na parte superior da área de trabalho, clique em Edit Connections, selecione sua conexão, clique em Edit| IPv4 Settings. Mude o método de Automatic (DHCP)para Automatic (DHCP) addresses onlye entre 8.8.8.8no Additional DNS serverscampo. Clique em Save.... Verifique se /etc/resolv.confagora contém uma linha nameserver 8.8.8.8e se você ainda pode ping www.google.com.

jdthood
fonte
5
@guntbert Umm. Você está falando com o autor do pacote resolvconf. Eu acho que ele sabe do que está falando. ;-)
Kevin Bowen
@jdthood Anteriormente, eu era capaz de ping- 8.8.8.8(como referido na pergunta), mas depois de adicionar a linha nameserver 8.8.8.8, ele não resolver e esta linha apareceuFrom nat1.up.edu.ph (10.16.1.2) icmp_seq=1 Destination Host Unreachable
jowabels
1
thx @maggotbrain por me ajudar a puxar meu pé para fora da minha boca novamente :-)
guntbert
1
@ guntbert Está tudo bem, cara. Estive lá, eu mesmo. Se houver algum problema de dns / resolveconf, o jdthood é o homem que vai resolvê-los!
Kevin Bowen
3
Quando sigo estas etapas, recebo este erro depois de executar o primeiro comando:Err http://us.archive.ubuntu.com/ubuntu/ wily/main resolvconf all 1.77ubuntu1 404 Not Found [IP: 91.189.91.23 80] E: Failed to fetch http://us.archive.ubuntu.com/ubuntu/pool/main/r/resolvconf/resolvconf_1.77ubuntu1_all.deb 404 Not Found [IP: 91.189.91.23 80]
MadPhysicist
7

sudo apt-get updatefinalmente funcionou! Acabei de perceber que o problema não estava no sistema, mas como o sistema conecta e recupera dados da Internet. I acabou de configurar as definições de rede e mudou a detecção de proxy para Manuale preenchido o HTTP, HTTPS, FTP, e Socks Hostespaços em branco o proxy que eu uso. Quando atualizei novamente, essa saída de erro aconteceu no início:

E: Could not get lock /var/lib/dpkg/lock - open (11 Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/)

Bem, não exatamente igual, mas semelhante a ele (eu copiei acima daqui ). Mas quando tentei atualizar novamente, finalmente funcionou (a razão pela qual eu publiquei a saída de erro acima e não a saída exata que vi) e agora posso escolher um servidor espelho diferente. Se a configuração do proxy de rede era realmente a razão dos meus problemas, bem, eu meio que me senti estúpido por um erro tão básico.

Enfim, obrigado a todos por sua ajuda! :)

jowayow
fonte
0

Fazem isto

sudo bash -c 'echo "nameserver 127.0.0.1" >> /etc/resolv.conf'

Então faça sudo apt-get updatepara ver se funciona.

Alaa Ali
fonte
Não, sudo apt-get updateainda não funciona. Preciso remover a linha nameserver 127.0.01ou não há problema em deixá-la lá?
Jowabels
Você tentou fazer isso depois de reverter a resposta de jdthood? Então, basta ter certeza de que você pode executar ping 8.8.8.8, em seguida, adicione a linha nameserver 127.0.0.1para /etc/resolv.conf, ele tem que ser a única linha (após os comentários, é claro).
Alaa Ali
Sim, fiz isso após a reversão e não houve problema com ping 8.8.8.8(é claro, após a reversão). Basicamente, nameserver 127.0.0.1foi a única linha adicionada a /etc/resolv.conf.
Jowabels
Eu apenas me perguntei, o arquivo original / etc / resolv.conf` já continha nameserver 127.0.0.1antes de adicioná-lo. Quando segui sua resposta, o arquivo editado agora continha linhas de nameserver 127.0.0.1. Existe alguma razão para isso?
Jowabels 23/05
O comando na minha resposta adicionou a linha, nameserver 127.0.0.1independentemente do que já estava no arquivo. O arquivo original (após uma nova instalação) provavelmente já deve conter essa linha, embora a saída que você teve na sua pergunta não a contenha. Mas, depois que você seguiu os últimos comandos na resposta do jdthood, acho que o arquivo foi redefinido e a linha nameserver 127.0.0.1foi adicionada. Então, quando você seguiu minha resposta, outra linha foi adicionada. De qualquer forma, se você tiver duas linhas, é seguro remover uma delas.
Alaa Ali