apt-get update ne parvient pas à récupérer les fichiers. Erreur «Résolution temporaire des erreurs…».

93
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.

C'est ce que je vois quand j'essaie de courir sudo apt-get update. J'ai fait une mise à jour sur mon instance hier et je vis maintenant cela.

Lewis
la source

Réponses:

145

vue d'ensemble

Votre question comporte deux parties:

  • correction des messages de résolution temporaires
  • résoudre les problèmes de gestion des paquets

Résolution temporaire

Il est probable que ce problème soit:

  • temporaire du fait que votre fournisseur de services Internet ne transfère pas correctement le nommage Internet (DNS) vers son serveur DNS ou ses serveurs DNS externes, ou
  • suite à une modification de votre réseau, cette dénomination a également été bloquée - par exemple, nouveau routeur / modem, reconfiguration d’un commutateur avec une nouvelle configuration.

Permet de regarder les possibles problèmes de résolution DNS.

Tout d'abord, ajoutez temporairement un serveur DNS connu à votre système.

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

Alors courez sudo apt-get update.

Si cela résout vos problèmes temporaires de résolution, attendez 24 heures pour voir si votre FAI résout le problème pour vous (ou contactez simplement votre FAI) - ou vous pouvez ajouter de façon permanente un serveur DNS à votre système:

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

8.8.8.8 est le propre serveur DNS de Google.

la source

Un autre exemple de serveur DNS que vous pouvez utiliser est OpenDNS - par exemple:

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

problèmes de gestion des paquets

En plus des problèmes de résolution temporaires - vous avez quelques problèmes de gestion de paquets à corriger - je suppose que vous avez récemment essayé de mettre à niveau une version Ubuntu vers la version recommandée suivante - dans votre cas, de Natty (11.04) à Onirique (11.10)

Ouvrez un terminal et tapez

sudo nano /etc/apt/sources.list

Recherchez dans la liste les lignes dont le nom de distribution est différent de celui auquel vous vous attendiez (dans votre cas, vous avez mis à niveau oneiricmais vous avez un autre nom de version).natty

Par exemple, recherchez des lignes ressemblant à deb http:/archive.canonical.com/ natty backports

Ajoutez un #au début de la ligne pour la commenter - par exemple

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

Sauvegarder et relancer:

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

Vous ne devriez plus avoir d'erreurs de nommage de version.

Au moment d'écrire ces lignes, commun possible les noms de libération comprennent lucid, maverick, natty, oneiric, precise, quantal, raring, saucy, trusty, utopicet vivid.

fossfreedom
la source
Fonctionne
Lorsqu'un nom apparaît lors de la mise à jour, vous pouvez ignorer le bidouillage DNS et accéder directement à la liste des sources.
SPRBRN
Fonctionne
1
Et si ça ne marche pas?
Matt G
Il est fort probable qu'un problème DNS de docker ne laisse pas apt-get update réussir.
Dashesy
11

Notez que cette réponse a été écrite pour les anciennes versions d'Ubuntu. Les versions actuelles utilisent un serveur de noms local contrôlé par D-Bus, auquel s'applique la partie diagnostic de cette réponse, mais pas la solution. Si /etc/resolv.confcontient nameserver 127.0.1.1ou plus généralement nameserver 127.X.Y.Z, ne le modifiez pas.

“Résolution temporaire des erreurs…” signifie que votre DNS , c'est-à-dire la traduction des noms d'hôte en adresses IP, ne fonctionne pas. Avez-vous reconfiguré quelque chose sur votre machine récemment? Sinon, il peut s'agir d'une erreur transitoire chez votre fournisseur de services Internet.

Est ping -n 8.8.8.8-ce que les lignes montrent 64 bytes from 8.8.8.8: …? (Appuyez sur Ctrl+ Cpour arrêter ping.)

  • Sinon, vous avez un problème de connectivité IP. Courez traceroute -n 8.8.8.8et voyez où ça s'arrête: si c'est chez vous / au bureau, vérifiez votre équipement de réseau. Si vous pouvez joindre votre fournisseur de services Internet, adressez-vous à eux.
  • Si tel est le cas, vous avez spécifiquement un problème de DNS. Vérifiez le contenu de /etc/resolv.conf; il devrait y avoir une ligne comme nameserver 1.2.3.4(éventuellement plusieurs). Si les lignes sont là, il y a probablement un problème passager chez votre fournisseur de services Internet et vous pourrez peut-être le contourner en ajoutant nameserver 8.8.8.8à ce fichier (cela déclare un serveur DNS supplémentaire, fourni gratuitement par Google). Si le premier numéro après nameserverest 127, il y a un relais DNS sur votre machine (c'est une bonne chose) et vous devez configurer ce relais DNS plutôt que de le modifier /etc/resolv.conf. Sur les versions modernes d'Ubuntu, il existe un relais DNS par défaut, il s'agit de Dnsmasq et il est contrôlé par D-Bus.
Gilles
la source
1
Remarque: les ping 8.8.8.8 -c3pings seulement 3fois, vous n'avez pas besoin de Ctrl + C alors. Vous pouvez utiliser un nombre quelconque dans le paramètre, comme -c5, -c1, -c100etc.
Arda
nameserverdoit être placé avec la machine du nom d'hôte?
Albert
@ albert Ce /etc/resolv.confqui compte est celui de la machine sur laquelle vous vous trouvez. Mais sur les systèmes modernes, il ne pointe que sur la machine locale et si vous avez des problèmes de DNS, vous devez travailler avec D-Bus et NetworkManager.
Gilles
Vous êtes un génie, monsieur! Je viens de sauver ma journée. Merci
Akshay Agarwal
10

Vous pouvez commenter le référentiel non résolu à partir du fichier sources.list situé dans le répertoire / etc / apt /

Après avoir modifié le fichier sources.list, nettoyez le rapport apt-get en tant que

apt-get clean

Puis mettre à jour

apt-get update

L'erreur disparaîtra

Mughil
la source
1
C'est une solution permanente à un problème DNS temporaire. Si vous oubliez de le restaurer, les logiciels de ce référentiel ne seront plus mis à jour ni disponibles pour l'installation.
Chai T. Rex
3

Parfois, lorsque vous êtes derrière un serveur proxy, il est même nécessaire de générer un apt.conffichier /etc/apt/et de le remplir avec les entrées spécifiques, telles que:

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

Si une authentification est requise, le fichier de configuration se présente comme suit:

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>";
Poignard
la source
1

Ce problème peut également être causé par une interface nommée à tort. Par exemple, un Temporary failure resolvingmessage d'erreur peut être provoqué par une interface non nommée eth0mais nommée de manière incorrecte eml.

Karel
la source
Je ne parviens pas à me connecter à mon compte en raison de problèmes auxquels je suis confronté avec lightdm. Je dois mettre à jour lightdm. Pouvez-vous développer votre réponse pour résoudre le problème? Merci.
Shayan
0

J'ai rencontré des erreurs similaires lors de l'exécution de apt-getcommandes. Il s’avère que le panneau de mise à jour de logiciels est ouvert sur la console.
Cela semblait bloquer la ligne de commande apt-get, mais je ne suis pas certain.

John
la source
0

C'est un problème de DNS. Vérifiez votre /etc/resolv.confdossier.

Par exemple, dans mon cas, quand j'ai eu ce problème et vérifié ce fichier, le fichier était vide! mais il devrait contenir votre serveur de noms DNS

mien:

nameserver 192.168.10.x

192.168.10.x is my gateway ip address

les parties
la source
3
Bienvenue sur AskUbuntu! Si vous voulez aider, répondez plus verbeusement. Je veux dire, couvrez la plupart des scénarios possibles et des moyens d’aller ou de poster un lien vers un tutoriel approprié.
Danatela
1
Pourriez-vous préciser ce qu'il faut vérifier /etc/resolv.conf?
papukaija
0

J'ai eu cette erreur. Suite à un conseil du support Linode, j'ai commenté toutes les lignes IPv6 dans / etc / hosts puis apt-get update a commencé à fonctionner.

Laura
la source
0

Pour ceux qui utilisent EC2, n'oubliez pas de vérifier que les paramètres de votre groupe de sécurité autorisent les connexions sortantes aux sites Web que vous mettez à jour. Vous pouvez définir le paramètre Tout trafic sortant pour voir si cela fonctionne.

Kasperi
la source
0

La solution acceptée ne fonctionne pas pour moi. En premier lieu, cela apt-get updatem’avertit seulement Temporary failure resolving 'foo.com', mais quand j’essaie avec nslookup foo.comou ping foo.com, ça marche!

Mon hack / correctif incroyablement sale pour résoudre ce bogue consiste à ajouter manuellement les domaines résolus /etc/hostsavec ce court 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
}

Maintenant la mise à jour devrait fonctionner:

resolveAptHosts && sudo apt-get update

Si quelqu'un sait pourquoi cette solution de contournement fonctionne et comment résoudre ce bogue pour de vrai, je serai éternellement reconnaissant. J'ai également essayé d'utiliser sudo apt-get update -o Acquire::ForceIPv4=trueafin d'exclure les problèmes de résolution IPv6, mais cela n'a pas aidé non plus.

mxmlnkn
la source
0

J'ai le même problème dans une machine virtuelle vmware, l'hôte et l'invité sont tous deux Ubuntu. J'ai résolu le problème en modifiant les paramètres de la machine virtuelle. Au lieu d'utiliser NAT, j'ai défini Bridged. Ça a fonctionné pour moi

Jean-Marc
la source
0

Les messages d'erreur devraient indiquer que vous n'avez pas de connexion Internet. Vous pouvez voir ces mêmes messages d'erreur si, lors de l'installation initiale d'ubuntu, vous avez choisi de ne pas effectuer de mises à jour (ne vous êtes pas connecté à wifi / ethernet). Après l'installation et le redémarrage, vous pouvez vous retrouver à l'écran interminable d'animation de connexion ubuntu (surveiller les points en mouvement). .. Vous verrez les messages d'erreur ci-dessus si vous démarrez maintenant dans Recovery et à l'invite de la racine apt-get updatemême après avoir activé la mise en réseau à partir de Recovery, ce qui ne vous permet pas de vous connecter au wifi si vous avez évité le wifi lors de l'installation initiale.

Solution à ce cas particulier: branchez un câble Ethernet, démarrez dans Recovery et apt-get updatelancez le problème ou réinstallez-le à partir de zéro et assurez-vous d'activer les mises à jour.

problème de base - si vous ne vous êtes pas connecté au wifi pendant l'installation, évitant ainsi les mises à jour du paquet, aucune invite de connexion wifi ne vous sera donnée lors du démarrage de la récupération - cela devrait être corrigé ... les messages d'erreur ci-dessus devraient également indiquer que vous ne disposez pas d'Internet. lien

Scott Stensland
la source