Questa risposta è simile a quella sopra ma utilizza la configurazione di esempio delle domande per rispondere alla domanda. Inoltre questo spiega perché entrambi i comandi sono necessari.
Modifica /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
Queste modifiche non avranno luogo a meno che non riavvii o ricarichi il file di configurazione:
Per aggiornare il file delle interfacce dal vivo è necessario eseguire il comando seguente:
echo "nameserver 192.168.3.45
nameserver 192.168.8.10
search example.com" | sudo resolvconf -a eth0.inet
Ciò consente un aggiornamento dell'interfaccia senza riavviare o ricaricare.
Tuttavia, le modifiche al comando sopra andranno perse dopo un riavvio se le modifiche /etc/network/interfaces
non vengono apportate.
A proposito, l'ultima risposta di BDenis in questo elenco funziona effettivamente al posto dell'ultimo comando analizzando il /etc/network/interfaces
file e eseguendo il piping di quelle righe nel comando sudo resolvconf -a eth0
È in realtà metà della risposta e un ottimo esempio di analisi di sed inline. Se vuoi vedere come funziona, esegui la prima parte del comando e guardalo analizzare il /etc/network/interfaces
file e sputare tutte le informazioni necessarie per eseguire il sudo resolvconf -a eth0
comando:
sed 's/#.*$//' /etc/network/interfaces | grep dns- | sed 's/dns-//g'
Si noti che ciò produrrebbe lo stesso risultato del comando:
echo "nameserver 192.168.3.45
nameserver 192.168.8.10
search example.com"
A condizione che il /etc/network/interfaces
file sia configurato con queste informazioni:
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