私はYoctoを使ってカスタムLinuxシステムを構築しました。ビジーボックスを使用してください。ほとんどすべてが機能していますが、起動するたびに/etc/resolv.confが削除され、/var/run/resolv.confへのリンクに変わるため、静的DNSリゾルバーアドレスを持つことはできません。
私考えるこれは/etc/揮発性.cacheというスクリプトが原因です。このスクリプトを削除しましたが、他のスクリプト/etc/init.d/populate-揮発性.shが毎回再生成するようです。
もちろん、resolv.confに値を書き込む/etc/rc5.d/S90set-resolvなどの独自のスクリプトを追加することもできますが、これは非常に奇妙なアプローチのようです。
何が起こっているのか知っている人はいますか?この状況でネームサーバーアドレスを設定する正しい方法は何ですか?
答え1
しかし、友達ではなく仕事がうまくいかないのですが、出発する前によく見なければならないので、「chattr + i」ファイルをシステムに適用して、時々問題に対する解決策を見つけなければならないと思います。とシステムに私たちの意志を強制するので埋めることはできません。時には、小さなスクリプトがネットワーク上でうまく動作しているときに素晴らしいことをするかもしれませんが、明らかにあなたは望んでいません。しかし、私はシステム管理者になるために勉強していないか、勉強しています。すみません!しかし、緊張してシステムにこのような無意味なトリックを実行したい場合は、最終的に私のシステムにはないので怒って申し訳ありません!代わりにこれをやってください! 「chattr」コマンドを使用して設定するには、「インタフェース」ファイル(通常は/etc/network/フォルダにあります)を編集し、必要なネームサーバIPにdns-nameserverオプションを追加/変更します。これらのオプションがファイルにない場合は、簡単な例として追加できます。
-サンプル:「/etc/network/interfaces」ファイルを編集してください。
auto lo
iface lo inet loopback
iface lo inet6 loopback
iface eth0 inet static
dns-nameserver 192.168.1.1 <= Your IP address here.
dns-nameserver 8.8.8.8
dns-nameserver 8.8.4.4
- ファイルを保存してネットワークを再起動します。
あなたの場合は、サーバーのIPアドレスを設定し、インターフェースファイルの末尾に以下を設定するだけです。
dns-nameserver 8.8.4.4
dns-nameserver 8.8.8.8
ここで使用されるサンプル/サンプルは次のとおりです。
auto lo
iface lo inet loopback
iface lo inet6 loopback
iface eth0 inet static
address 192.168.1.4/24
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameserver 192.168.1.4
dns-nameserver 8.8.4.4
dns-nameserver 8.8.8.8
これは、システムが起動するたびにresvol.confファイルを生成する方法をよりよく理解するのに役立つ小さな例です。
revsolv.confファイルでDNSサーバーのアドレスを設定するには、残りの部分にdns-nameserverを設定します。変更を必要とせずにそのままにしてください。 「dns-nameserver」を設定して保存して起動します。これ以降、resolv.confファイルには、常にこのファイルで定義されているdns-nameserverが付属しています。