Cette réponse est similaire à celle ci-dessus mais utilise l'exemple de configuration des questions pour répondre à la question. De plus, elle explique pourquoi les deux commandes sont nécessaires.
Modifier /etc/network/interfaces
:
iface eth0 inet static
address 192.168.3.3
netmask 255.255.255.0
gateway 192.168.3.1
dns-search example.com
dns-nameserver 192.168.3.45
dns-nameserver 192.168.8.10
Ces changements n'auront pas lieu à moins que vous ne redémarriez ou ne rechargiez le fichier de configuration :
Afin de mettre à jour le fichier des interfaces en direct, il est nécessaire d'exécuter la commande suivante :
echo "nameserver 192.168.3.45
nameserver 192.168.8.10
search example.com" | sudo resolvconf -a eth0.inet
Cela permet une mise à jour de l'interface sans redémarrage ou rechargement.
Cependant, les modifications apportées à la commande ci-dessus seront perdues après un redémarrage si les modifications dans le fichier /etc/network/interfaces
ne sont pas faites.
D'ailleurs, la dernière réponse de BDenis dans cette liste fonctionne en fait à la place de la dernière commande en analysant l'option /etc/network/interfaces
et de placer ces lignes dans la commande sudo resolvconf -a eth0
C'est en fait la moitié de la réponse et un très bon exemple de parsing sed en ligne. Si vous voulez voir comment cela se passe, exécutez la première partie de la commande et regardez-la analyser le fichier /etc/network/interfaces
et vous fournira toutes les informations nécessaires pour exécuter l'application sudo resolvconf -a eth0
commandement :
sed 's/#.*$//' /etc/network/interfaces | grep dns- | sed 's/dns-//g'
Remarquez que cela produirait le même résultat que la commande :
echo "nameserver 192.168.3.45
nameserver 192.168.8.10
search example.com"
A condition que le /etc/network/interfaces
est configuré avec ces informations :
iface eth0 inet static
address 192.168.3.3
netmask 255.255.255.0
gateway 192.168.3.1
dns-search example.com
dns-nameserver 192.168.3.45
dns-nameserver 192.168.8.10