이 답변은 위의 답변과 비슷하지만 질문 예제 구성을 사용하여 질문에 답변합니다. 또한 두 명령이 모두 필요한 이유를 설명합니다.
편집 /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
실제로 절반의 답변이며 인라인 sed 구문 분석의 좋은 예입니다. 이것이 어떻게 수행되는지 보려면 명령의 첫 번째 부분을 실행하고 /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