如何找到buildroot中处理DNS解析的模块?

如何找到buildroot中处理DNS解析的模块?

我有 2 个不同的 Linux 设备,其中一个的内核是使用 ltib 完成的(L从现在开始),另一个是 buildroot 的(今后)。

我设法添加一个 DNS 解析器 通过使用:

echo "nameserver 8.8.8.8" >> /etc/resolv.conf

然后ping google.com工作正常。

另一方面,关于L,同样的 schtik 不起作用,尽管 ping8.8.8.8没问题,正在 ping谷歌,谷歌.com或者www.google.com总是失败。

我想要做的是以某种方式比较两个内核以了解它的内部内容缺少的L并启用 DNS 解析。

我应该去哪里寻找什么?

我用过本指南从中我了解到,因为我的/etc/nsswitch.conf看起来像这样:

cat /etc/nsswitch.conf
    passwd:     files  rf
    shadow:     files
    group:      files
    hosts:      files  dns
    services:   files
    networks:   files
    protocols:  files
    rpc:        files
    ethers:     files
    netmasks:   files
    netgroup:   files
    automount:  files
    aliases:    files
    bootparams:  [NOTFOUND=return] files

那么 ping 命令应该查看/etc/resolv.conf其中包含以下行nameserver 8.8.8.8

cat /etc/resolv.conf
nameserver 8.8.8.8

所以我真的不明白为什么我的 ping 失败。

我尝试编辑以从条目中/etc/nsswitch.conf删除(使其看起来像),但没有帮助。fileshostshosts: dns

答案1

进行 DNS 解析的不是 Linux 内核,而是 C 库。您的 LTIB 系统使用哪个 C 库?默认情况下,Buildroot 使用 uClibc,它没有nssswitch.conf配置文件。

相关内容