Cette réponse est similaire à celle ci-dessus, mais utilise l'exemple de configuration des questions pour répondre à la question. De plus, cela 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 modifications ne seront effectuées que si vous redémarrez ou rechargez le fichier de configuration:
Pour mettre à jour le fichier d'interface 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 ni rechargement.
Toutefois, les modifications de commande ci-dessus seront perdues après un redémarrage si les modifications /etc/network/interfaces
ne sont pas apportées.
A propos, la dernière réponse de BDenis dans cette liste fonctionne réellement à la place de la dernière commande en analysant le /etc/network/interfaces
fichier et en canalisant 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 d'analyse inline sed. Si vous voulez voir comment cela fonctionne, exécutez simplement la première partie de la commande et regardez-la analyser le /etc/network/interfaces
fichier et extraire toutes les informations nécessaires pour exécuter la sudo resolvconf -a eth0
commande:
sed 's/#.*$//' /etc/network/interfaces | grep dns- | sed 's/dns-//g'
Notez 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"
Si le /etc/network/interfaces
fichier 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