คำตอบนี้คล้ายกับคำตอบข้างต้น แต่ใช้การกำหนดค่าตัวอย่างคำถามเพื่อตอบคำถาม นอกจากนี้ยังอธิบายว่าทำไมคำสั่งทั้งสองจึงจำเป็น
แก้ไข/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
การเปลี่ยนแปลงเหล่านี้จะไม่เกิดขึ้นจนกว่าคุณจะรีบูตหรือโหลดไฟล์การกำหนดค่าใหม่:
เพื่ออัพเดตไฟล์อินเตอร์เฟส live จำเป็นต้องรันคำสั่งต่อไปนี้:
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