組み込みLinuxターゲット(ARM)を使用していますが、次の問題があります。プロセスの実行中に/etc/resolv.confが更新されると(たとえば、gethostbyname()を使用するCプログラム)、実行中のプロセスは再起動されるまで、新しいネームサーバーエントリ。
DNSエントリはsystemd-resolve-i eth0 --set-dns = "ipaddr"で作成されています
デスクトップLinuxで同じことを試してみると、/ etc/resolv.confへの変更は、再起動せずに実行中のプロセスによってすぐに使用されます。
/etc/resolv.confが変更されているときに、バックグラウンドで何が起こっているか(または起こっていないか)を確認するにはどうすればよいですか?埋め込まれたターゲットでどのサービスが欠落している可能性がありますか?アプリケーションの再起動後に機能するのはなぜですか?
resolve
エントリの前にdns
を/etc/nsswitch.conf
に追加してみてください。そうすると、hosts行は次のようになります。
hosts: files mymachines resolve [!UNAVAIL=return] dns myhostname