Garey's Blog–FreeBSD/PHP/GoLang

十月 12th, 2010

FreeBSD升级可得小心使用mergemaster

8,780 views, FreeBSD, by garey.

我的服务器9月30号升级了一次,结果挂了一个礼拜,直到10月9号才恢复过来。挂这么长时间最主要的问题当然是联通机房十一期间封网,但挂机的直接原因却是使用mergemaster不当造成的。

mergemaster的作用是合并配置文件,很多系统的配置文件已经被我们修改过了,但系统升级的时候很多配置文件也需要升级,这样就会有很多配置文件需要进行新旧版本的合并。我们在执行mergemaster的时候,都要去看这个配置文件是否经过修改,要比较更新版本对系统是否有影响,根据需要选择合并、安装或者保留操作。

我的服务器在升级完成之后,网络就起不来了,网卡没有IP地址,网络服务都没启动。在手动启动/etc/netstart的时候,报“ifn_start: not found.”。后来才发现,就是mergemaster的时候,/etc下面的netstart和/etc/rc.d下面的netif等网络相关的脚本都更新了版本,而/etc下面的network.subr这个文件却没更新,检查network.subr新版本的时候,才知道增加了ifn_start()等很多函数。把这个新版本覆盖旧版本之后,执行/etc/netstart,网络就正常了。

在没发生这个问题以前,在做系统升级使用mergemaster的时候,总没那么细心的看具体的每个文件,而是大概的随便选择i或者d,这样就容易造成这类问题发生。经过这件事之后,发现mergemaster这步千万不能小视了他。

Back Top

发表评论