/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

しかし、これはインストールスクリプトを2回実行するとその行が繰り返されるという欠点があります。これを行うための確立された方法はありますか?

ベストアンサー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が、うまくいけばうまくいきます。 :-)

おすすめ記事