Se produce un error "no se pudo recuperar" cuando se ejecuta apt-get update. ¿Cómo puedo solucionar esto?

42

Contrariamente a la nota anterior, no he encontrado la respuesta a mi problema.

He leído casi una docena de preguntas de actualización de apt-get, la mayoría de askubuntu.com, con errores de "error al buscar" y probé las soluciones respondidas allí. Lamentablemente, ninguno funcionó. Recientemente instalé Ubuntu 12.04 en mi computadora portátil, lo inicié dual junto con Windows 7. Cuando lo intenté

sudo apt-get update

en la terminal, ocurría lo siguiente:

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 :

Esto sucedió inmediatamente después de instalar Ubuntu 12.04. Soy muy nuevo en el mundo de Linux / Ubuntu y un novato cuando se trata de este tipo de cosas.

La lista de Fuentes en la configuración del Administrador de actualizaciones (y Centro de software) era corta. Solo contenía 2 líneas con "Canonical", 2 líneas con "Independiente" y otras 2 líneas. Creo que la lista era corta porque era un Ubuntu recién instalado.

La conexión a Internet parece estar bien y mi amigo, cuya computadora portátil acababa de instalarse con Ubuntu 12.04 al mismo tiempo que la mía, parece no tener problemas con su actualización. Compartimos la misma conexión, así que creo que los problemas de conexión a Internet no podrían haber sido la razón del error.

Soluciones Intentadas :

Desde aquí , exploré /etc/resolvconf/resolv.conf.dy agregué /etc/resolvconf/resolv.conf.d/headlo siguiente:

nameserver 8.8.8.8
nameserver 8.8.4.4

El error aún ocurrió.

Desde aquí y aquí , cambié repetidamente qué servidor Mirror usar en el Administrador de actualizaciones y la configuración de las fuentes de software. De nuevo, el error todavía ocurrió.

También intenté editar mi lista de fuentes, desmarcando las líneas con "independiente" (como se sugiere). Según aquí , intenté eliminar las derb-srclíneas en la lista de fuentes. Aún así, fue en vano.

Por último, este sitio sugiere ejecutar lo siguiente:

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

Lamentablemente, nada funcionó para mí. En todos los foros en los que he estado, la respuesta relacionada nameserver 8.8.8.8parece aparecer con mayor frecuencia. Tenga en cuenta también que realmente no entendí las soluciones, lo que significaban o cómo se hacen. Simplemente los seguí.

Esta es la salida 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

Y lo siguiente es 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

Se ha señalado que la respuesta está aquí, pero desafortunadamente tampoco funcionó. Traté de elegir diferentes servidores, pero el "elegir servidor" nunca estuvo disponible. La búsqueda del mejor servidor arrojó el resultado "No hay un servidor adecuado". Creo que los servidores espejo están bien y, de nuevo, parece que no hay problemas con la conexión a Internet.

Usando ping -c3 archive.ubuntu.comy ping -c3 8.8.8.8 ambos cedieron 0% packet loss. El ping para 8.8.8.8 a veces rindió, 33% packet losspero en su mayoría 0%.

Escribiendo nslookup google.comrendimientos

Server:     127.0.0.1
Address:    127.0.0.1#53

Salida 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
fuente
Bien, empecemos desde cero. Primero, ¿puedes copiar la salida exacta del terminal cuando escribes sudo apt-get update? Además, ¿puede incluir la salida de cat /etc/apt/sources.listy cat /etc/resolv.conf? ¿Y confirma que normalmente puede navegar por sitios web en Internet?
Alaa Ali
@Alaa En respuesta a su consulta, edité la pregunta y publiqué todo lo que necesitaba saber. Y sí, pude navegar por sitios web en Internet normalmente.
jowabels
0% de pérdida de paquetes? Entonces puedes hacer ping y navegar, pero no puedes resolverlo en apt-get updates ... hmm. ¿Hay algún tipo de configuración de DNS que solo funcione con apt-get? De todos modos, ¿puedes publicar las dos primeras líneas nslookup google.comy publicar la salida de ps aux | grep dns? Además, ¿estás usando una IP estática?
Alaa Ali
@Alaa He editado la pregunta y publicado los resultados. Se ps aux | grep dnssupone que la salida es una sola línea, pero la edité para que sea más fácil de ver. Inicialmente, diría que uso una IP dinámica porque no he pagado nada por ella, pero uso conexiones de internet universitarias, por lo que es difícil saber si la IP que uso es estática o dinámica.
jowabels
@Alaa Acabo de verificar que uso una IP dinámica.
jowabels

Respuestas:

27

Estaba enfrentando el mismo problema y pensé que la solución más fácil es restablecer las fuentes de /etc/apt/sources.list. Para hacerlo, sigue estos pasos:

  1. Obtenga el lanzamiento de su versión de Ubuntu, escriba en la consola:

    lsb_release -r
    
  2. Vaya a http://repogen.simplylinux.ch/ para generar un nuevosources.list

  3. Seleccione su país y suelte
  4. Marque las primeras 12 casillas:

    Todas las sucursales de Ubuntu + Seguridad y actualizaciones

  5. Genera y copia tu nueva lista
  6. Haga una copia de seguridad del archivo anterior en sources.list.old

    mv /etc/apt/sources.list /etc/apt/sources.list.old
    
  7. Ahora puede abrir vi para guardar la nueva lista haciendo:

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

    O copiando y pegando en su terminal el comando "curl" (incluido un URI único para su lista de fuentes actualizada) tal como se presenta en "Lista de fuentes" en la página de salida de repogen.

  8. G2G, vuelva a intentar ejecutar apt-get update

RienNeVaPlus
fuente
2
Decidí responder esto, a pesar de que el problema de los autores se resolvió de manera diferente. Su pregunta es el resultado principal de muchos problemas relacionados con un archivo source.list corrupto (tropecé con él 3 veces) y sentí que dejo mi solución aquí, ya que me habría ahorrado mucho tiempo.
RienNeVaPlus
Descargué una máquina virtual ubuntu 12 y no había repositorios válidos (italianos). ¡Hice esto y trabajé como un encanto! ¡Gracias!
Feida Kila
Antes de pegar vim, deberá editar el modo de inserción presionando la letra 'i' después de abrirlo
sg
Esto es lo que funcionó para mí.
Rick
No hay 14.10 en la lista de lanzamiento :(
JoeTidee
25

Editar /etc/resolv.conf. En una ventana de Terminal, ejecute

sudo gedit /etc/resolv.conf

y agrega la línea

nameserver 8.8.8.8

y guarda. Entonces hazlo

ping www.google.com

Si esto tiene éxito, ejecute los siguientes comandos

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

Si la resolución falla ahora , haga clic derecho en el indicador de red en la barra en la parte superior del escritorio, haga clic Edit Connections, seleccione su conexión, haga clic en Edit| IPv4 Settings. Cambie Método de Automatic (DHCP)a Automatic (DHCP) addresses onlye ingrese 8.8.8.8en el Additional DNS serverscampo. Haga clic Save.... Verifique que /etc/resolv.confahora contenga una línea nameserver 8.8.8.8y que aún pueda ping www.google.com.

jdthood
fuente
55
@ Guntbert Umm. Estás hablando con el autor del paquete resolvconf. Creo que él sabe de lo que está hablando. ;-)
Kevin Bowen
@jdthood Anteriormente, pude hacer ping 8.8.8.8(como se indica en la pregunta) pero después de agregar la línea nameserver 8.8.8.8, no se resolvió y apareció esta líneaFrom nat1.up.edu.ph (10.16.1.2) icmp_seq=1 Destination Host Unreachable
jowabels
1
@maggotbrain thx por ayudarme a sacar el pie de mi boca nuevamente :-)
guntbert
1
@ Guntbert Está todo bien, hombre. He estado allí, yo mismo. Si hay problemas de dns / resolveconf, ¡jdthood es el hombre que debe resolverlos!
Kevin Bowen
3
Cuando sigo estos pasos, 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]
aparece
7

sudo apt-get updatefinalmente funcionó! Me acabo de dar cuenta de que el problema no estaba en el sistema, sino en cómo el sistema se conecta y recupera datos de Internet. Me acaba de configurar mi configuración de red y cambió la detección de proxy para Manualy lleno en el HTTP, HTTPS, FTP, y Socks Hostespacios en blanco del proxy que yo uso. Cuando actualicé nuevamente, esta salida de error ocurrió al principio:

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

Bueno, no exactamente igual, pero similar (copié arriba desde aquí ). Pero cuando intenté actualizar nuevamente, finalmente funcionó (la razón por la que publiqué la salida de error anterior y no la salida exacta que vi) y ahora puedo elegir un servidor espejo diferente. Si la configuración del proxy de red fue realmente la razón de mis problemas, bueno, me sentí un poco estúpido por un error tan básico.

De todos modos, ¡gracias a todos por su ayuda! :)

revs jowayow
fuente
0

Hacer esto

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

Luego hazlo sudo apt-get updatepara ver si funciona.

Alaa Ali
fuente
No, sudo apt-get updatetodavía no funciona. ¿Tengo que eliminar la línea nameserver 127.0.01o está bien dejarla allí?
jowabels
¿Intentaste hacer esto después de volver de la respuesta de jdthood? Así que asegúrese de que puede hacer ping 8.8.8.8, a continuación, agregar la línea nameserver 127.0.0.1a /etc/resolv.conf, que tiene que ser la única línea (después de los comentarios, por supuesto).
Alaa Ali
Sí, hice esto después de revertir y no hubo ningún problema con ping 8.8.8.8(Por supuesto, después de revertir). Básicamente, nameserver 127.0.0.1fue la única línea agregada a /etc/resolv.conf.
jowabels
Me preguntaba si el archivo original / etc / resolv.conf ya estaba contenido nameserver 127.0.0.1antes de agregarlo. Cuando seguí tu respuesta, el archivo editado ahora contenía líneas de nameserver 127.0.0.1. Hay alguna razón para esto?
jowabels
El comando en mi respuesta agregó la línea nameserver 127.0.0.1independientemente de lo que ya estaba en el archivo. El archivo original (después de una instalación nueva) probablemente ya debería contener esa línea, aunque el resultado que tenía en su pregunta no tenía eso. Pero, después de seguir los últimos comandos en la respuesta de jdthood, creo que el archivo se restableció y nameserver 127.0.0.1se agregó la línea . Entonces, cuando seguiste mi respuesta, se agregó otra línea. De todos modos, si tiene dos líneas, es seguro eliminar una de ellas.
Alaa Ali