Câu trả lời này tương tự như câu hỏi trên nhưng sử dụng cấu hình ví dụ câu hỏi để trả lời câu hỏi. Cộng với điều này giải thích tại sao cả hai lệnh là cần thiết.
Chỉnh sửa /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
Những thay đổi này sẽ không diễn ra trừ khi bạn khởi động lại hoặc tải lại tệp cấu hình:
Để cập nhật tệp giao diện trực tiếp, cần chạy lệnh sau:
echo "nameserver 192.168.3.45
nameserver 192.168.8.10
search example.com" | sudo resolvconf -a eth0.inet
Điều này cho phép cập nhật giao diện mà không cần khởi động lại hoặc tải lại.
Tuy nhiên, các thay đổi lệnh trên sẽ bị mất sau khi khởi động lại nếu những thay đổi trong /etc/network/interfaces
không được thực hiện.
Nhân tiện, câu trả lời cuối cùng từ BDenis trong danh sách này thực sự hoạt động thay cho lệnh cuối cùng bằng cách phân tích /etc/network/interfaces
tệp và chuyển các dòng đó vào lệnh sudo resolvconf -a eth0
Nó thực sự là một nửa câu trả lời và một ví dụ thực sự tốt về phân tích cú pháp sed nội tuyến. Nếu bạn muốn xem làm thế nào nó chỉ cần chạy phần đầu tiên của lệnh và xem nó phân tích /etc/network/interfaces
tệp và nhổ tất cả các thông tin cần thiết bạn cần để chạy sudo resolvconf -a eth0
lệnh:
sed 's/#.*$//' /etc/network/interfaces | grep dns- | sed 's/dns-//g'
Lưu ý rằng điều này sẽ tạo ra giống như lệnh:
echo "nameserver 192.168.3.45
nameserver 192.168.8.10
search example.com"
Miễn là /etc/network/interfaces
tập tin được cấu hình với thông tin này:
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