apt-get update ne parvient pas à récupérer les fichiers, erreur "Résolution temporaire des erreurs ..."

71
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 lorsque j'essaie de lancer sudo apt-get update . J'ai fait une mise à jour sur mon instance hier et je le vois maintenant.

    
posée Lewis 30.12.2011 - 16:01
la source

9 réponses

109

aperçu

Votre question comporte deux parties:

  • corriger les messages résolution temporaire
  • corriger les problèmes de gestion des paquets

Résolution temporaire

Il est probable que ce problème soit:

  • temporaire en raison du fait que votre fournisseur de services Internet ne transfère pas correctement la dénomination Internet (DNS) vers ses serveurs DNS externes ou
  • en raison d’un changement dans votre réseau a également bloqué cette dénomination - par exemple, nouveau routeur / modem, reconfiguration d’un commutateur avec une nouvelle configuration.

Regardons les problèmes de résolution DNS possibles.

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

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

Ensuite, exécutez sudo apt-get update .

Si cela corrige vos messages résolution temporaire , attendez 24 heures pour voir si votre fournisseur de services Internet résout le problème pour vous (ou contactez simplement votre fournisseur de services Internet) - ou ajoutez 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.

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 de paquets

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

Ouvrez un terminal et tapez

sudo nano /etc/apt/sources.list

Recherchez les lignes dont le nom de votre distribution est différent de celui que vous attendiez - dans votre cas - vous avez mis à niveau oneiric mais vous avez un autre nom de version natty

Par exemple, recherchez les lignes qui ressemblent à deb http:/archive.canonical.com/ natty backports

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

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

Enregistrer et ré-exécuter:

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

Vous ne devriez plus avoir d’erreur de dénomination de version.

Au moment de la rédaction de ce document, les noms de version courants communs incluent lucid , maverick , natty , oneiric , precise , quantal , raring , saucy , trusty , utopic et vivid .

    
réponse donnée fossfreedom 30.12.2011 - 19:24
la source
8

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

Après avoir modifié les sources.list, nettoyez le référentiel apt-get en tant que

apt-get clean

Puis mettre à jour

apt-get update

L’erreur disparaîtra

    
réponse donnée Mughil 30.12.2011 - 18:41
la source
8

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, pour lequel la partie diagnostic de cette réponse s'applique, mais pas la solution. Si /etc/resolv.conf contient nameserver 127.0.1.1 ou plus généralement nameserver 127.X.Y.Z , ne le modifiez pas.

"La résolution temporaire des défaillances ..." signifie que votre DNS , c’est-à-dire la traduction des noms d’hôte en adresses IP, n’est pas travail. Avez-vous reconfiguré quelque chose sur votre machine récemment? Sinon, cela peut être une erreur transitoire chez votre fournisseur de services Internet.

Est-ce que ping -n 8.8.8.8 affiche des lignes comme 64 bytes from 8.8.8.8: … ? (Appuyez sur Ctrl + C pour arrêter ping .)

  • Si ce n'est pas le cas, vous avez spécifiquement un problème de connectivité IP. Exécutez traceroute -n 8.8.8.8 et voyez où il s'arrête: s'il se trouve chez vous / au bureau, vérifiez votre équipement réseau. Si vous pouvez joindre votre fournisseur de services Internet, déposez une plainte auprès d'eux.
  • Si c'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 (peut-être plus d'un d'entre eux). Si les lignes sont là, il y a probablement un problème transitoire dans votre FAI, 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 nombre après nameserver est 127, il y a un relais DNS sur votre machine (c'est une bonne chose) et vous devez configurer ce relais plutôt que de modifier /etc/resolv.conf . Sur les versions modernes d'Ubuntu, il existe un relais DNS par défaut, c'est Dnsmasq , et il est contrôlé par D-Bus.
réponse donnée Gilles 30.12.2011 - 19:17
la source
3

Parfois, lorsque vous êtes derrière un serveur proxy, il est même nécessaire de générer un fichier apt.conf dans /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 ressemble à:

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>";
    
réponse donnée Dirk 21.08.2012 - 12:03
la source
0

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

    
réponse donnée John 09.05.2012 - 19:15
la source
0

Ceci est un problème de DNS. Vérifiez votre fichier /etc/resolv.conf .

par exemple dans mon cas où j'ai eu ce problème & amp; vérifié ce fichier, le fichier était vide! mais il devrait contenir votre serveur de noms DNS

le mien:

nameserver 192.168.10.x

192.168.10.x is my gateway ip address

    
réponse donnée parisssss 22.07.2013 - 09:53
la source
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.

    
réponse donnée laura 05.02.2014 - 22:42
la source
0

Si vous utilisez EC2, n'oubliez pas de vérifier que les paramètres de votre groupe de sécurité autorisent les connexions sortantes vers les sites Web à partir desquels vous effectuez la mise à jour. Vous pouvez définir tous les paramètres sortants du trafic et voir si cela fonctionne.

    
réponse donnée Kasperi 15.03.2014 - 19:08
la source
0

La solution acceptée ne fonctionne pas pour moi. En premier lieu, seul apt-get update m'avertit de Temporary failure resolving 'foo.com' , mais lorsque j'essaie avec nslookup foo.com ou ping foo.com , cela fonctionne très bien!

Mon hack / correctif incroyablement sale pour résoudre ce bogue consiste à ajouter les domaines résolus manuellement à /etc/hosts avec ce court script:

resolveAptHosts()
{
    mapfile -t hosts < <(
        sed -n -r '/^#/d; s;deb(-src)? (http://|ftp://)?([^/ ]+).*;;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.]+).*||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=true pour exclure les problèmes de résolution IPv6, mais cela n'a pas aidé non plus.

    
réponse donnée mxmlnkn 31.03.2018 - 03:44
la source

Lire d'autres questions sur les étiquettes