N'effacez jamais - JAMAIS - /etc/resolv.conf !

Vous avez un didactiel ou une astuce particulière concernant un logiciel, partagez votre expérience dans cette partie.
Avatar de l’utilisateur
le Manchot Masqué
Administrateur du site
Messages : 353
Inscription : lun. 26 mai 2008, 21:05
Distribution : Debian, Ubuntu
Niveau : Moitié plein !
Localisation : Guebwiller

N'effacez jamais - JAMAIS - /etc/resolv.conf !

Message par le Manchot Masqué » sam. 16 déc. 2017, 00:48

Pour l'amour des bébés phoques, pour lutter contre le réchauffement climatique, pour sauver les derniers ours polaires, n'effacez jamais /etc/resolv.conf !

Ce fichier clé contient les informations DNS qui transforment un nom canonique (lug68.org) en adresse ip (217.160.0.73). Si vous l'effacez par erreur, plus moyen de se connecter à quelque site internet que ce soit (sauf à connaître l'adresse ip directe) !

Cela étant, si vous avez effacé /etc/resolv.conf, malgré toutes nos mises en garde précédentes, ce n'est pas un drame irréversible. Car nous sommes sous GNU/Linux : tant que le ciel ne nous tombe pas sur la tête, et que le disque dur remue encore, on peut sauver sa machine d'une réinstallation inutile et incertaine !

Ainsi la distribution Ubuntu, pour prendre un exemple concret, utilise par défaut le paquet resolvconf, lequel transforme le fichier /etc/resolv.conf en lien symbolique qui pointe vers /run/resolvconf/resolv.conf. En cas d'effacement accidentel, il suffit donc de recréer ce lien manquant d'un coup de ligne de commande magique :

Code : Tout sélectionner

ln -s  /run/resolvconf/resolv.conf /etc/resolv.conf
puis de débrancher/rebrancher le câble réseau, et le tour est joué !

À la question que certains ne manqueront pas de se poser, à savoir : pourquoi le paquet resolvconf n'est-il pas capable de détecter lui-même l'absence du fichier /etc/resolv.conf, et de le recréer automatiquement, seule l'autopsie des développeurs fautifs pourra nous renseigner... En tout cas, c'est le genre de comportement idiot qui devrait être amélioré d'urgence, histoire de faciliter la vie aux débutants, kamikazes, et admin-kiddies de tous poils !

Un autre moyen de s'en sortir est d'effacer le paquet resolvconf, qui n'est pas indispensable en soi.

Dans ce cas, le Network Manager, qui gère graphiquement la configuration réseau avec une icône similaire à ce qu'on trouve sur mac, prend la relève avec le paquet dnsmasq-base, comme on peut le voir dans /etc/NetworkManager/NetworkManager.conf avec la ligne dns=dnsmasq. Quant au fichier /etc/resolv.conf, il reste un lien symbolique, qui pointe alors vers /var/run/NetworkManager/resolv.conf.

L'avantage ici est que le couple Network Manager/dnsmasq est plus futé que le paquet resolvconf précédent : si /etc/resolv.conf est effacé accidentellement, le fichier est automatiquement recréé à la prochaine connexion DHCP, sans casse-tête pour l'usager !

Bref, on a bien du mal à comprendre ce qui pousse Canonical à imposer un paquet resolvconf, qui semble finalement dépourvu d'intérêt, à moins que vous ayez d'autres arguments à apporter sur le sujet ?!

Maintenant, sur un serveur en production, en règle générale, la configuration réseau/DNS ne bouge pas. Dans ce cas, le mieux est de désinstaller les paquets resolvconf, network-manager et dnsmasq, pour avoir la paix. Bien entendu, c'est alors à l'administrateur de renseigner manuellement et correctement son fichier /etc/resolv.conf, qui n'est plus alors un lien symbolique, mais un fichier texte standard.

Si vous avez survécu à la lecture de ces lignes : bravo à vous !

Si vous les avez compris, c'est encore mieux !

Et si vous vous demandez enfin pourquoi les extra-terrestres naissent avec un clavier dans une main, et une souris dans l'autre, et pourquoi ils parlent tous un langage étrange et incompréhensible du commun des mortels, ne vous inquiétez pas : c'est que vous êtes tout simplement "normal(e)" ! Les informaticiens, c'est pas des gens humains... ;)

Répondre