我有一个静态链接的 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 是标准 C 库的实现,它比 glibc 小得多,这使得它对于嵌入式系统非常有用。
如果您正在尝试构建一个最小的环境,我建议您针对 UClibc 而不是 glibc 编译 busybox,并窥探 openWRT 以了解他们如何设法以如此小的占用空间构建这样的发行版。
答案2
查看dnsd
哪些可以内置到 Busybox 中:
root@alpine-linux [~]# ls -l $(which dnsd)
lrwxrwxrwx 1 root root 12 Mar 17 23:12 /usr/sbin/dnsd -> /bin/busybox
我还能够配置为Alpine Linux(也使用 Busybox)中的域unbound
提供名称解析。.local
参见local-data
unbound.conf
手册页。默认情况下,它在配置文件中被注释掉。