我希望能够从我的C / C ++程序中为Linux名称服务器添加IP地址。我在一个有点嵌入式平台上,只有一个只读的/etc/resolv.conf。这意味着我不能简单地在文件中添加“nameserver xxx.xxx.xxx.xxx”行而不需要一点点诡计。有什么干净的方法可以从代码中执行此操作吗?
我可以尝试将/etc/resolv.conf符号链接到tmpfs中的文件,但这似乎是hackish,感觉就像我应该能够做到的而无需写入文件。
答案 0 :(得分:1)
从您的libc中查看resolv.conf
中的nsaddr_list
。
虽然没有记录,但设置解析程序的常用方法是更新
_res.nsaddr_list
。
在uClibc 0.9.31中,resolv.c
中有一个comment on line 533描述了它是如何工作的。