Essa resposta é semelhante à acima, mas usa a configuração de exemplo de perguntas para responder à pergunta. Além disso, isso explica por que os dois comandos são necessários.
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
Essas alterações não ocorrerão, a menos que você reinicie ou recarregue o arquivo de configuração:
Para atualizar o arquivo de interfaces ao vivo, é necessário executar o seguinte comando:
echo "nameserver 192.168.3.45
nameserver 192.168.8.10
search example.com" | sudo resolvconf -a eth0.inet
Isso permite uma atualização da interface sem uma reinicialização ou recarregamento.
No entanto, as alterações do comando acima serão perdidas após uma reinicialização, se as alterações /etc/network/interfaces
não forem feitas.
A propósito, a última resposta do BDenis nesta lista realmente funciona no lugar do último comando, analisando o /etc/network/interfaces
arquivo e canalizando essas linhas para o comando. sudo resolvconf -a eth0
Na verdade, é metade da resposta e um bom exemplo de análise sediada em linha. Se você quiser ver como isso funciona, basta executar a primeira parte do comando e assistir ao analisar o /etc/network/interfaces
arquivo e cuspir todas as informações necessárias para executar o sudo resolvconf -a eth0
comando:
sed 's/#.*$//' /etc/network/interfaces | grep dns- | sed 's/dns-//g'
Observe que isso produziria o mesmo resultado que o comando:
echo "nameserver 192.168.3.45
nameserver 192.168.8.10
search example.com"
Desde que o /etc/network/interfaces
arquivo esteja configurado com estas informações:
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