/etc/dhcp/dhclient.conf를 직접 편집하는 대신 명령줄에서 DNS를 바꾸시겠습니까?

/etc/dhcp/dhclient.conf를 직접 편집하는 대신 명령줄에서 DNS를 바꾸시겠습니까?

다음 줄을 추가하면 원하는 DNS를 사용할 수 있다는 것을 알고 있습니다 /etc/dhcp/dhclient.conf.

$ supersede domain-name-servers 1.1.1.1, 1.0.0.1;

다음과 같이 올바른 DNS가 사용되었는지 확인할 수 있습니다.

$ nmcli dev show | grep DNS
IP4.DNS[1]:        1.1.1.1
IP4.DNS[2]:        1.0.0.1

하지만 내 컴퓨터(Ubuntu 18.04)를 자동으로 설정하고 싶기 때문에 /etc/dhcp/dhclient.conf직접 편집을 피하고 싶습니다. "쉬운" 해결책은 파일에 추가하는 것입니다.

echo "supersede domain-name-servers 1.1.1.1, 1.0.0.1;" | sudo tee -a /etc/dhcp/dhclient.conf

하지만 이는 설치 스크립트를 두 번 실행하면 해당 줄이 반복된다는 단점이 있습니다. 이를 수행하는 확립된 방법이 있습니까?

답변1

@Patrick의 의견을 바탕으로 다음을 수행할 수 있습니다.

LINE='supersede domain-name-servers 1.1.1.1, 1.0.0.1;'
FILE=/etc/dhcp/dhclient.conf

grep -qF "${LINE}" "${FILE}" || echo ${LINE} | sudo tee --append "${FILE}"

나는 표준 인터페이스나 그와 유사한 것이 있기를 희망/기대 dhclient하지만, 작동한다면 작동하는 것입니다. :-)

관련 정보