busyboxの名前解決

busyboxの名前解決

私は静的にリンクされたbusyboxを持っており、busybox telnet foo「foo」のアドレスをどのように指定しますか?

その動的ライブラリは本当に必要ですか/etc/nsswitch.conf?それともbusyboxに参照用の単純な独自のメカニズムが含まれていますか/etc/hosts

答え1

私のopenWRTを見ると、libnss *ライブラリはインストールされていません。 libuClibcだけがこの目的に使用されるようです。 libc.so.0はシンボリックリンクです。

root@RuiWifi:/lib# grep -ri hosts *
libc.so.0:/etc/hosts
libuClibc-0.9.33.2.so:/etc/hosts

uClibcはglibcよりはるかに小さい標準Cライブラリの実装なので、組み込みシステムに非常に便利です。

最小限の環境を構築する場合は、glibcではなくUClibc用のbusyboxをコンパイルし、openWRTを調べて、そのような小さなインストールスペースでこれらのディストリビューションを構築する方法を確認することをお勧めします。

uClibcを使用したBusyBoxのコンパイル

答え2

dnsdBusyboxに何が組み込まれているかを確認してください。

root@alpine-linux [~]# ls -l $(which dnsd)
lrwxrwxrwx    1 root  root  12 Mar 17 23:12 /usr/sbin/dnsd -> /bin/busybox

DNSDの構成

また、Alpine Linux(Busyboxも使用)でドメインのunbound名前解決を提供するように設定できました。.local

local-dataよりunbound.confマニュアルページ。デフォルトでは、構成ファイルではコメントアウトされています。

関連情報