Esta respuesta es similar a la anterior pero usa la configuración de ejemplo de preguntas para responder la pregunta. Además, esto explica por qué ambos comandos son necesarios.
Editar /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
Estos cambios no tendrán lugar a menos que reinicie o vuelva a cargar el archivo de configuración:
Para actualizar el archivo de interfaces en vivo, es necesario ejecutar el siguiente comando:
echo "nameserver 192.168.3.45
nameserver 192.168.8.10
search example.com" | sudo resolvconf -a eth0.inet
Esto permite una actualización de la interfaz sin necesidad de reiniciar o volver a cargar.
Sin embargo, los cambios de comando anteriores se perderán después de un reinicio si /etc/network/interfaces
no se realizan los cambios en el .
Por cierto, la última respuesta de BDenis en esta lista realmente funciona en lugar del último comando al analizar el /etc/network/interfaces
archivo y canalizar esas líneas en el comando. sudo resolvconf -a eth0
En realidad, es la mitad de la respuesta y un muy buen ejemplo de análisis de sed en línea. Si desea ver cómo lo hace, simplemente ejecute la primera parte del comando y observe cómo analiza el /etc/network/interfaces
archivo y escupe toda la información necesaria que necesita para ejecutar el sudo resolvconf -a eth0
comando:
sed 's/#.*$//' /etc/network/interfaces | grep dns- | sed 's/dns-//g'
Tenga en cuenta que esto produciría la misma salida que el comando:
echo "nameserver 192.168.3.45
nameserver 192.168.8.10
search example.com"
Siempre que el /etc/network/interfaces
archivo esté configurado con esta información:
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