Jawaban ini mirip dengan yang di atas tetapi menggunakan konfigurasi contoh pertanyaan untuk menjawab pertanyaan. Plus ini menjelaskan mengapa kedua perintah itu diperlukan.
Edit /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
Perubahan ini tidak akan terjadi kecuali Anda me-reboot atau memuat ulang file konfigurasi:
Untuk memperbarui file antarmuka secara langsung, Anda perlu menjalankan perintah berikut:
echo "nameserver 192.168.3.45
nameserver 192.168.8.10
search example.com" | sudo resolvconf -a eth0.inet
Ini memungkinkan pembaruan ke antarmuka tanpa reboot atau memuat ulang.
Namun, perubahan perintah di atas akan hilang setelah reboot jika perubahan dalam /etc/network/interfaces
tidak dilakukan.
Ngomong-ngomong, jawaban terakhir dari BDenis dalam daftar ini benar-benar berfungsi menggantikan perintah terakhir dengan mem-parsing /etc/network/interfaces
file dan menyalurkan baris-baris tersebut ke dalam perintah. sudo resolvconf -a eth0
Sebenarnya ini adalah setengah dari jawaban dan contoh yang sangat bagus dari penguraian sed inline. Jika Anda ingin melihat bagaimana ini dilakukan, jalankan saja bagian pertama dari perintah dan saksikan parsing /etc/network/interfaces
file dan keluarkan semua informasi yang diperlukan Anda perlu menjalankan sudo resolvconf -a eth0
perintah:
sed 's/#.*$//' /etc/network/interfaces | grep dns- | sed 's/dns-//g'
Perhatikan ini akan menghasilkan keluaran yang sama seperti perintah:
echo "nameserver 192.168.3.45
nameserver 192.168.8.10
search example.com"
Asalkan /etc/network/interfaces
file tersebut dikonfigurasi dengan informasi ini:
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