I have three abilities: Develop software, Write books and Film reality. All are Free as in freedom.
-- www.huzheng.org

English German French Russian Spanish
Chinese Simplified Chinese Traditional Japanese Korean Portuguese



一切有为法,如梦幻泡影,如露亦如电,应作如是观。



 文章搜索
 
文章分类
您所处的位置: 妖光linux编程首页 --> 文章列表 --> 胡正的技术文章
修改激活网卡的等待时间
2002.9.4

现在通过局域网来上网的人很多,大家都知道,有时候网络不通,开机时激活网
络就会出现一个Bringing up interface eth0:然后就得等上半天才出现一个
Failed,ctrl-c也没用,实在是难得等,有初学者刚遇到这情况还以为系统坏了,
等不了一会就reset,然后就去bbs问 :).川大的校园网也破,网络不通是常事,
今天无聊,就决定解决这问题.呵呵,以前就想解决,先是到linuxforum的内核版
去问高手,没人回答,后来又是打开/etc/init.d/network,可看文件那么长,马
上就放弃了.今天决定拼了.
用文本编辑器打开/etc/init.d/network,看到这一行:
action $"Bringing up interface $i: " ./ifup $i boot
呵呵,就是用这个来激活etho的,于是打命令
which ifup,得知是/sbin/ifup,打命令ifup eth0 boot,果然是等半天.
file /sbin/ifup,得知这也是个bash脚本文件,于是打开查看,找到一行:
if [ -x /sbin/dhcpcd ] && /sbin/dhcpcd ${DHCPCDARGS} ${DEVICE} ; then
呵呵,网络不通时等半天就是在等通过dhcp服务来获取ip,看来要找的就是这行了.
打dhcp --help看帮助,看到个
Usage: dhcpcd [-dknrBCDHNRTY] [-l leasetime] [-h hostname] [-t timeout]
哈哈,有个-t timeout,爽,man dhcpcd看看,原来默认是等60秒,呵呵,我以前一直
觉得是等两三分钟呢.这下容易了,修改ifup文件,在运行/sbin/dhcpcd的那行前加
个DHCPCDARGS="${DHCPCDARGS} -t 5" 应该就行了,我加在了
    if [ "${PEERDNS}" = "no" ]; then
       PUMPARGS="${PUMPARGS} -d"
       DHCPCDARGS="${DHCPCDARGS} -R"
    fi
这一段后面,版面整洁些 :)
修改完了后保存,再打命令service network restart,呵呵,只等5秒钟就出现
Failed了,重启,开机时激活网卡也是只用等5秒了.搞定 :)

总结,要修改激活网卡的等待时间,修改/sbin/ifup文件,在
echo -n $"Determining IP information for ${DEVICE}..."这一行前面加下
面一行:
DHCPCDARGS="${DHCPCDARGS} -t 5"
其中的-t 5就表示只等5秒.

本文在redhat7.3上通过,initscripts版本为6.67-1.

返回列表




菩萨道linux编程 欢迎来信交流!

大其心,容天下之物。虚其心,助天下之善。平其心,观天下之事。潜其心,明天下之理。定其心,应天下之变。

宇宙中有无数的有情众生,我发愿帮助他们觉醒。我的缺点无穷无尽,我发愿要克服他们。佛法是未知的,我发愿弄懂它。觉醒的道路是可望不可及的,我发愿要去实现它。
www.huzheng.org Copyleft 2000-2017 All rights reserved