linux不能ping通域名能ping通ip
然後檢查此文件:/etc/nsswitch.conf第38行,是否有dns,即hosts : files dns
已經設置了DNS,可還是顯示上面的錯誤信息, 網上說需要重新編譯busybox才能ping通? 如下,可是按照步驟做就不能啟動了? 請問飛淩有沒有提供已經改好的,或者給個指導?
2410開發板解析不了域名
ping localhost
ping: bad address ‘localhost‘
ping http://www.baidu.com/
ping: bad address ‘www.baidu.com‘
存在/etc/hosts,/etc/resolv.conf,/etc/nsswitch.conf
都是從host上拷過去的
/lib下也有/lib/libnss_dns, /lib/libnss_files, and /lib/libresolv*
可以ping 通外網IP,但就是解析不了域名!!
cat /etc/resolv.conf
nameserver 202.103.24.68
在開發板上能ping通這個DNS服務器
按理說ping 127.0.0.1可以ping通
但ping localhost不能
說明可能沒讀/etc/hosts這個文件
但為什麽不讀呢?網上有人說是缺庫,但我所有相關的庫都在/lib下了,也是for arm的
解決方法:
在網上找到這麽一段話
Sandr0 06-12-02 01:16
我也有同樣的疑問,而且當我選擇靜態編譯的時候,復制了那幾個文件也沒用。只有將busybox配置成使用動態連接庫文件的時候,復制了那幾個文件就解決問題了。
我在busybox的命令幫助頁面上找到了這樣一段話:
引用:
LIBC NSS
When used with glibc, the BusyBox ‘networking‘ applets will similarly require that you install at least some of the glibc NSS stuff (in particular, /etc/nsswitch.conf, /lib/libnss_dns, /lib/libnss_files, and /lib/libresolv*).
於是重新編譯busybox,采用動態鏈接方式
再把/usr/local/arm/3.4.1/arm-linux/lib下的所有.so*文件復制到文件系統的/lib下,果然就可以ping通百度了!
鑒於libstdc++.so有 3834613 字節大小,而大部份linux程序是用C寫的,所以去掉了這個庫
linux不能ping通域名能ping通ip