Diese Antwort ähnelt der obigen, verwendet jedoch die Beispielkonfiguration für Fragen, um die Frage zu beantworten. Außerdem wird erklärt, warum beide Befehle erforderlich sind.
Bearbeiten /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
Diese Änderungen werden erst wirksam, wenn Sie die Konfigurationsdatei neu starten oder laden:
Um die Interface-Datei live zu aktualisieren, muss der folgende Befehl ausgeführt werden:
echo "nameserver 192.168.3.45
nameserver 192.168.8.10
search example.com" | sudo resolvconf -a eth0.inet
Dies ermöglicht ein Update der Schnittstelle ohne Neustart oder Neuladen.
Die obigen Befehlsänderungen gehen jedoch nach einem Neustart verloren, wenn die Änderungen in der /etc/network/interfaces
nicht vorgenommen werden.
Übrigens funktioniert die letzte Antwort von BDenis in dieser Liste tatsächlich anstelle des letzten Befehls, indem die /etc/network/interfaces
Datei analysiert und diese Zeilen in den Befehl eingefügt werden. sudo resolvconf -a eth0
Es ist tatsächlich die halbe Antwort und ein wirklich gutes Beispiel für das Inline-Sed-Parsen. Wenn Sie sehen möchten, wie dies funktioniert, führen Sie einfach den ersten Teil des Befehls aus und beobachten Sie, wie er die /etc/network/interfaces
Datei analysiert und alle erforderlichen Informationen ausgibt, die Sie zum Ausführen des sudo resolvconf -a eth0
Befehls benötigen :
sed 's/#.*$//' /etc/network/interfaces | grep dns- | sed 's/dns-//g'
Beachten Sie, dass dies die gleiche Ausgabe wie der Befehl erzeugen würde:
echo "nameserver 192.168.3.45
nameserver 192.168.8.10
search example.com"
Vorausgesetzt, die /etc/network/interfaces
Datei ist mit diesen Informationen konfiguriert:
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