Ta odpowiedź jest podobna do powyższej, ale wykorzystuje konfigurację przykładowego pytania, aby odpowiedzieć na pytanie. Ponadto wyjaśnia to, dlaczego oba polecenia są konieczne.
Edytuj /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
Te zmiany nie zostaną wprowadzone, chyba że uruchomisz ponownie lub ponownie załadujesz plik konfiguracyjny:
Aby zaktualizować plik interfejsów na żywo, należy uruchomić następujące polecenie:
echo "nameserver 192.168.3.45
nameserver 192.168.8.10
search example.com" | sudo resolvconf -a eth0.inet
Umożliwia to aktualizację interfejsu bez ponownego uruchamiania lub ponownego ładowania.
Jednak powyższe zmiany poleceń zostaną utracone po ponownym uruchomieniu, jeśli zmiany /etc/network/interfaces
nie zostaną wprowadzone.
Nawiasem mówiąc, ostatnia odpowiedź z BDenis na tej liście faktycznie działa zamiast ostatniego polecenia, analizując /etc/network/interfaces
plik i przesyłając te wiersze do polecenia. sudo resolvconf -a eth0
To właściwie połowa odpowiedzi i naprawdę dobry przykład wbudowanego parsowania sed. Jeśli chcesz zobaczyć, jak to działa, po prostu uruchom pierwszą część polecenia i obejrzyj go, parsując /etc/network/interfaces
plik i wypluwając wszystkie niezbędne informacje potrzebne do uruchomienia sudo resolvconf -a eth0
polecenia:
sed 's/#.*$//' /etc/network/interfaces | grep dns- | sed 's/dns-//g'
Zauważ, że spowodowałoby to takie samo wyjście jak polecenie:
echo "nameserver 192.168.3.45
nameserver 192.168.8.10
search example.com"
Pod warunkiem, że /etc/network/interfaces
plik jest skonfigurowany z tymi informacjami:
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