apt-get update no puede recuperar archivos, error "Error de resolución temporal ..."


92
Err http://archive.canonical.com natty InRelease    
Err http://security.ubuntu.com oneiric-security InRelease               
Err http://extras.ubuntu.com natty InRelease                            
Err http://security.ubuntu.com oneiric-security Release.gpg
  Temporary failure resolving ‘security.ubuntu.com’
Err http://archive.canonical.com natty Release.gpg
  Temporary failure resolving ‘archive.canonical.com’
Err http://extras.ubuntu.com natty Release.gpg
  Temporary failure resolving ‘extras.ubuntu.com’
Err http://gb.archive.ubuntu.com oneiric InRelease
Err http://gb.archive.ubuntu.com oneiric-updates InRelease
Err http://gb.archive.ubuntu.com natty-backports InRelease
Err http://gb.archive.ubuntu.com oneiric Release.gpg
  Temporary failure resolving ‘gb.archive.ubuntu.com’
Err http://gb.archive.ubuntu.com oneiric-updates Release.gpg
  Temporary failure resolving ‘gb.archive.ubuntu.com’
Err http://gb.archive.ubuntu.com natty-backports Release.gpg
  Temporary failure resolving ‘gb.archive.ubuntu.com’

Reading package lists... Done
W: Failed to fetch http://gb.archive.ubuntu.com/ubuntu/dists/oneiric/InRelease      
W: Failed to fetch http://gb.archive.ubuntu.com/ubuntu/dists/oneiric-updates/InRelease  
W: Failed to fetch http://gb.archive.ubuntu.com/ubuntu/dists/natty-backports/InRelease  
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/oneiric-security/InRelease  
W: Failed to fetch http://archive.canonical.com/ubuntu/dists/natty/InRelease  
W: Failed to fetch http://extras.ubuntu.com/ubuntu/dists/natty/InRelease  
W: Failed to fetch http://archive.canonical.com/ubuntu/dists/natty/Release.gpg  Temporary failure resolving ‘archive.canonical.com’
W: Failed to fetch http://security.ubuntu.com/ubuntu/dists/oneiric-security/Release.gpg  Temporary failure resolving ‘security.ubuntu.com’
W: Failed to fetch http://extras.ubuntu.com/ubuntu/dists/natty/Release.gpg  Temporary failure resolving ‘extras.ubuntu.com’
W: Failed to fetch http://gb.archive.ubuntu.com/ubuntu/dists/oneiric/Release.gpg  Temporary failure resolving ‘gb.archive.ubuntu.com’
W: Failed to fetch http://gb.archive.ubuntu.com/ubuntu/dists/oneiric-updates/Release.gpg  Temporary failure resolving ‘gb.archive.ubuntu.com’
W: Failed to fetch http://gb.archive.ubuntu.com/ubuntu/dists/natty-backports/Release.gpg  Temporary failure resolving ‘gb.archive.ubuntu.com’
W: Some index files failed to download. They have been ignored, or old ones used instead.

Esto es lo que veo cuando intento correr sudo apt-get update. Ayer hice una actualización en mi instancia y ahora estoy experimentando esto.

Respuestas:


144

visión de conjunto

Hay dos partes en su pregunta:

  • arreglando mensajes de resolución temporal
  • solucionar los problemas de gestión de paquetes

Resolución temporal

Es probable que este problema sea:

  • temporal debido a que su proveedor de servicios de Internet no reenvía correctamente los nombres de Internet (DNS) a sus servidores DNS externos o, o
  • debido a un cambio en su red, este nombre ha sido bloqueado de manera similar, por ejemplo, nuevo enrutador / módem, reconfigurando un conmutador con una nueva configuración.

Veamos los posibles problemas de resolución de DNS.

Primero, agregue temporalmente un servidor DNS conocido a su sistema.

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf > /dev/null

Entonces corre sudo apt-get update.

Si esto corrige sus mensajes de resolución temporal, espere 24 horas para ver si su ISP soluciona el problema por usted (o simplemente contacte a su ISP), o puede agregar permanentemente un servidor DNS a su sistema:

echo "nameserver 8.8.8.8" | sudo tee /etc/resolvconf/resolv.conf.d/base > /dev/null

8.8.8.8 es el propio servidor DNS de Google.

fuente

Otro ejemplo de servidor DNS que podría usar es OpenDNS , por ejemplo:

echo "nameserver 208.67.222.222" | sudo tee /etc/resolvconf/resolv.conf.d/base > /dev/null

problemas de gestión de paquetes

Además de los problemas de resolución temporal (tiene algunos problemas de administración de paquetes que deben corregirse), supongo que ha intentado recientemente actualizar de una versión de Ubuntu a la siguiente versión recomendada, en su caso de Natty (11.04) a Onírico (11.10)

Abra una terminal y escriba

sudo nano /etc/apt/sources.list

Busque líneas que tengan un nombre de distribución diferente en la lista de lo que esperaba, en su caso, se actualizó oneiricpero tiene otro nombre de lanzamientonatty

Por ejemplo, busque líneas que se vean como deb http:/archive.canonical.com/ natty backports

Agregue un #al principio de la línea para comentarlo, por ejemplo

#deb http:/archive.canonical.com/ natty backports

Guardar y volver a ejecutar:

sudo apt-get update && sudo apt-get upgrade

No debería tener más errores de nombres de versiones.

En el momento de escribir esto, posibles común nombres de liberación incluyen lucid, maverick, natty, oneiric, precise, quantal, raring, saucy, trusty, utopicy vivid.


Funciona perfectamente :)
Maduka Jayalath

Cuando aparece un nombre durante la actualización, puede omitir los ajustes de DNS e ir directamente a la lista de fuentes.
SPRBRN

Todavía funciona perfectamente con 15.04 y 15.10
lxx

1
¿Qué pasa si esto no funciona?
Matt G

Es muy probable que sea un problema de DNS de docker que no permite que apt-get update tenga éxito.
guiones

11

Tenga en cuenta que esta respuesta fue escrita para versiones antiguas de Ubuntu. Las versiones actuales usan un servidor de nombres local controlado por D-Bus, para el cual se aplica la parte de diagnóstico de esta respuesta, pero no la solución. Si /etc/resolv.confcontiene nameserver 127.0.1.1o más generalmente nameserver 127.X.Y.Z, no lo modifique.

"Resolución temporal de fallas ..." significa que su DNS , es decir, la traducción de nombres de host a direcciones IP, no funciona. ¿Reconfiguró algo en su máquina recientemente? Si no, esto puede ser un error transitorio en su ISP.

¿ ping -n 8.8.8.8Muestra líneas como 64 bytes from 8.8.8.8: …? (Presione Ctrl+ Cpara detener ping).

  • Si no es así, específicamente tiene un problema de conectividad IP. Corre traceroute -n 8.8.8.8y mira dónde se detiene: si está en tu hogar / oficina, revisa tu equipo de red. Si puede comunicarse con su ISP, quejarse con ellos.
  • Si es así, específicamente tienes un problema de DNS. Verifique el contenido de /etc/resolv.conf; debería haber una línea como nameserver 1.2.3.4(posiblemente más de una de ellas). Si las líneas están allí, probablemente haya un problema transitorio dentro de su ISP, y es posible que pueda solucionarlo agregando nameserver 8.8.8.8a ese archivo (esto declara un servidor DNS adicional, que Google proporciona de forma gratuita). Si el primer número después nameserveres 127, entonces hay un relé DNS en su máquina (esto es algo bueno), y debe configurar ese relé DNS en lugar de modificarlo /etc/resolv.conf. En las versiones modernas de Ubuntu, hay un relé DNS por defecto, es Dnsmasq y está controlado por D-Bus.

1
Nota: ping 8.8.8.8 -c3pings solo 3veces, no necesita Ctrl + C entonces. Se puede usar cualquier número en el parámetro, como -c5, -c1, -c100etc.
Arda

nameservertiene que ser colocado con la máquina del nombre de host?
Albert

@albert Lo /etc/resolv.confque importa es el que está en la máquina en la que estás. Pero en los sistemas modernos, solo apunta a la máquina local, y si tiene problemas de DNS, debe trabajar con D-Bus y NetworkManager.
Gilles

¡Usted señor es un genio! Acabo de salvar mi día. Gracias
Akshay Agarwal hace

10

Puede comentar el repositorio no resuelto desde el archivo sources.list que se encuentra en dir / etc / apt /

Después de modificar sources.list, limpie el repositorio apt-get como

apt-get clean

Luego actualiza

apt-get update

El error desaparecerá


1
Esta es una solución permanente a un problema temporal de DNS. Si olvida volver a cambiarlo, el software de ese repositorio ya no se actualizará ni estará disponible para su instalación.
Chai T. Rex

3

A veces, cuando está detrás de un servidor proxy, incluso es necesario que genere un apt.confarchivo /etc/apt/y lo complete con las entradas específicas, como:

Acquire::http::proxy "http://<yourproxyserver>:<Port>";
Acquire::https::proxy "http://<yourproxyserver>:<Port>";
Acquire::ftp::proxy "http://<yourproxyserver>:<Port>";

Si se requiere una autenticación, el archivo de configuración se ve así:

Acquire::http::proxy "http://<domain\user>:<password>@<yourproxyserver>:<Port>";
Acquire::https::proxy "http://<domain\user>:<password>@<yourproxyserver>:<Port>";
Acquire::ftp::proxy "http://<domain\user>:<password>@<yourproxyserver>:<Port>";

1

Este problema también puede ser causado por una interfaz mal nombrada. Por ejemplo, un Temporary failure resolvingmensaje de error puede ser causado por una interfaz que no tiene nombre, eth0sino que tiene un nombre incorrecto eml.


No puedo iniciar sesión en mi cuenta debido a problemas que tengo con lightdm, necesito actualizar lightdm, ¿puede ampliar su respuesta sobre cómo resolver el problema? Gracias.
Shayan


0

Experimenté errores similares al ejecutar apt-getcomandos. Resulta que tenía el Panel de actualización de software abierto en la consola.
Esto parecía estar bloqueando la línea de comando apt-get, pero no estoy seguro.


0

Este es un problema de DNS. Revisa tu /etc/resolv.confarchivo.

Por ejemplo, en mi caso cuando tuve este problema y verifiqué este archivo, ¡el archivo estaba vacío! pero debe contener su dns-nameserver

mía:

nameserver 192.168.10.x

192.168.10.x is my gateway ip address


3
¡Bienvenido a AskUbuntu! Si quieres ayudar, da una respuesta más detallada. Quiero decir, cubra la mayoría de los escenarios posibles y las formas de ir o publique el enlace al tutorial apropiado.
Danatela

1
¿Podría aclarar qué debería registrarse /etc/resolv.conf?
papukaija

0

Tuve este error Siguiendo un consejo del soporte de Linode, comenté todas las líneas de IPv6 en / etc / hosts y luego apt-get update comenzó a funcionar.


0

Para aquellos que usan EC2, recuerde verificar que la configuración de su grupo de seguridad permita conexiones salientes a los sitios web desde los que está actualizando. Puede establecer la configuración de salida de todo el tráfico y ver si funciona.


0

La solución aceptada no funciona para mí. En primer lugar, solo apt-get updateme advierte Temporary failure resolving 'foo.com', pero cuando lo intento con nslookup foo.como ping foo.com, ¡funciona bien!

Mi truco / solución increíblemente sucia para resolver este error es agregar los dominios resueltos manualmente /etc/hostscon este breve script:

resolveAptHosts()
{
    mapfile -t hosts < <(
        sed -n -r '/^#/d; s;deb(-src)? (http://|ftp://)?([^/ ]+).*;\3;p'\
        /etc/apt/sources.list | sort | uniq )
    # delete all hosts from /etc/hosts, e.g., from an earlier call
    sudo sed -i -r '/^[0-9]{1,3}(\.[0-9]{1,3}){3}[ \t]+('"$( printf '|%s'\
        "${hosts[@]//./\\.}" | sed 's/^|//' )"')[ \t]*$/d' /etc/hosts
    for host in ${hosts[@]}; do
        ip=$( nslookup "$host" | sed -n -r 's|Address:[ \t]*([0-9.]+).*|\1|p' |
              tail -1 )
        sudo bash -c "echo $ip $host >> /etc/hosts"
    done
}

Ahora la actualización debería funcionar:

resolveAptHosts && sudo apt-get update

Si alguien sabe por qué funciona esta solución y cómo resolver este error de verdad, estaré eternamente agradecido. También intenté usar sudo apt-get update -o Acquire::ForceIPv4=truepara excluir problemas de resolución de IPv6, pero eso tampoco ayudó.


0

Tengo el mismo problema en una máquina virtual vmware, el host y el invitado son ubuntu. Resolví el problema cambiando la configuración de la máquina virtual. En lugar de usar NAT, configuro Bridged. Funciono para mi


0

Los mensajes de error deberían indicar que no tiene conexión a Internet. Puede ver estos mismos mensajes de error si durante la instalación inicial de ubuntu eligió no realizar actualizaciones (no se conectó a wifi / ethernet) que después de finalizar la instalación y reiniciar puede dejarlo en la pantalla de animación de inicio de sesión de ubuntu sin fin (observando esos puntos en movimiento). Verá los mensajes de error anteriores si ahora inicia en Recovery y en el problema de la raíz, apt-get updateincluso después de habilitar la conexión de red desde Recovery, que no le permite conectarse a wifi si evitó el wifi durante la instalación inicial.

Solución a este caso extremo en particular: conecte un cable de ethernet, luego inicie en Recuperación y emita apt-get updateo reinstale desde cero y asegúrese de habilitar las actualizaciones

problema central: si no se conectó a wifi durante la instalación, por lo que evitó las actualizaciones de paquetes, no se le dará un mensaje de inicio de sesión wifi durante el arranque de recuperación; esto debería solucionarse ... también los mensajes de error anteriores deberían decir que no tiene internet conexión

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.