使用ubuntu 11.04中文版的pppoeconf来配置adsl,但是每次pppoeconf都会提示:“抱歉,没能找到以太网卡。如果您确实有网卡并且未被自动检测到,您可能需要通过 modconf 来手动加在驱动。现在启动 modconf 吗?”,我的电脑上明明有网卡啊,lspci也能认出来。
于是查看了/usr/sbin/pppoeconf的脚本,从第99行起,有这么一段shell脚本:
# get all Ethernet interfacesif test "$*" ; then
list="$*"
force_manual=1
else
list=$( LANG=C /sbin/ifconfig -a | grep "Ethernet" | grep -v irlan | cut -f1 -d" " )
原来,pppoeconf是调用ifconfig来拿到网卡信息的,但是中文版的ifconfig获得都结果一般是这样的:
eth0 Link encap:以太网 硬件地址 00:16:36:18:30:d7
inet6 地址: fe80::216:36ff:fe18:30d7/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1
接收数据包:5063 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:5159 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:1000
接收字节:5091446 (5.0 MB) 发送字节:660999 (660.9 KB)
中断:16 基本地址:0x3000
看来问题就出在“Ethernet”和“以太网”,这两个词不匹配上了。解决的方法就是将pppoeconf中,最后一句话中的“Ethernet”换成“Link”,之后再运行pppoeconf就一切ok了。
推而广之,所有的“抱歉,没能找到以太网卡。如果您确实有网卡并且未被自动检测到,您可能需要通过 modconf 来手动加在驱动。现在启动 modconf 吗?”错误,是不是都跟“Ethernet”与“以太网”,这两个词汇不匹配相关呢?所以还是要提示ubuntu本地化的开发者要注意类似的脚本与翻译词汇冲突的问题。