Ця відповідь аналогічна наведеній вище, але використовує конфігурацію прикладів питань, щоб відповісти на питання. Плюс це пояснює, чому необхідні обидві команди.
Редагувати /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
Ці зміни не відбудуться, якщо ви не перезавантажите або не перезавантажте файл конфігурації:
Для того, щоб оновити файл інтерфейсів у прямому ефірі, необхідно виконати таку команду:
echo "nameserver 192.168.3.45
nameserver 192.168.8.10
search example.com" | sudo resolvconf -a eth0.inet
Це дозволяє оновити інтерфейс без перезавантаження або перезавантаження.
Однак вищезазначені зміни команди будуть втрачені після перезавантаження, якщо зміни в команді не будуть /etc/network/interfaces
внесені.
До речі, остання відповідь BDenis у цьому списку насправді працює замість останньої команди, розбираючи /etc/network/interfaces
файл та передаючи ці рядки в команду. sudo resolvconf -a eth0
Це насправді половина відповіді та справді хороший приклад вбудованого синтаксичного розбору. Якщо ви хочете побачити, як це робиться, просто запустіть першу частину команди і перегляньте, як вона розбере /etc/network/interfaces
файл і виплюне всю необхідну інформацію, необхідну для запуску sudo resolvconf -a eth0
команди:
sed 's/#.*$//' /etc/network/interfaces | grep dns- | sed 's/dns-//g'
Зверніть увагу, це випустить те саме, що і команда:
echo "nameserver 192.168.3.45
nameserver 192.168.8.10
search example.com"
За умови налаштування /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