2011-02-17 97 views
2

我希望能夠從我的C/C++程序爲Linux上的DNS名稱服務器添加IP地址。我在一個只讀/etc/resolv.conf的嵌入式平臺上。這意味着我不能簡單地將一個「nameserver xxx.xxx.xxx.xxx」行添加到文件中,而沒有一點詭計。有沒有乾淨的方法從代碼做到這一點?以編程方式在Linux上設置DNS名稱服務器

我可以嘗試將/etc/resolv.conf中的符號鏈接到tmpfs中的文件,但這看起來很駭人聽起來像是我應該能夠在不寫入文件的情況下執行的操作。

+0

在嵌入式平臺或瘦客戶端上,符號鏈接到/ tmp是可以的。 – 2011-02-17 20:26:50

+0

有點很難說不知道你的嵌入式平臺的功能。但在嵌入式土地恕我直言,有時乞丐不能選擇。 – Terrance 2011-02-17 20:27:49

回答

1

查看您的libc中的nsaddr_listresolv.conf

This question說:

雖然沒有記錄,設置所使用的解析器的常見的方式是更新_res.nsaddr_list

在uClibc 0.9.31中,有一個comment on line 533resolv.c描述了這是如何工作的。

相關問題