首先,如果你用的是默认的内核,那么可以使用freebsd-update来升级系统,如果你的内核是自己重新编译过了的,那么按方法一来升级系统,如果是默认内核,按照方法二来升级系统。
方法一:cvsup升级系统
1:抓取源代码
# cp /usr/share/examples/cvsup/standard-supfile /root/supfile
# vi /root/supfile
把host=CHANGE_THIS.FreeBSD.org改为host=cvsup2.cn.FreeBSD.org
至于哪个服务器最快,可以参看http://www.bsdlover.cn/html/46/n-1146.html,这个帖子告诉你怎么找到最快的服务器。
*default release=cvs tag=RELENG_7_1
这个tag就是用来控制把版本升级到哪个的。
改好以后的supfile为:
*default host=cvsup2.cn.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=RELENG_7_1
*default delete use-rel-suffix
*default compress
然后开始抓取源代码,执行下面的命令:
# cvsup /root/supfile
或# csup /root/supfile
从6.0开始系统就提供csup来代替cvsup了,如果你原来装过cvsup,那么两个都可以的。
2:编译基础系统
# vi /usr/src/UPDATING
# cd /usr/src
# make buildworld
3:编译内核
# make buildkernel KERNCONF=foo
# make installkernel KERNCONF=foo
# reboot
系统启动时,选择“4”,进入“单用户”模式,输入“boot -s”进入单用户的提示符“#”,然后mount文件系统,执行mergemaster。
# mount -a -t ufs
# mergemaster -p
4:安装基础系统
# cd /usr/src
# make installworld
然后合并配置文件
# mergemaster -i
最后重启系统
# reboot
重新进入系统以后执行以下几个命令看升级是否有问题:
# uname -a
# tail -f /var/log/messages
# tail -f /path/to/other/log/files
# sockstat
5:升级已安装的软件
# portsnap fetch update
执行以下命令升级通过ports安装的所有软件
# portversion -l '<'
# portupgrade -a 方法二:使用freebsd-update升级系统
freebsd-update 是FreeBSD系统用来抓取、安装及取得binary update 的工具。要注意的是,这些update仅止于FreeBSD Release Engineering Team维护的版本.诸如: FreeBSD 6.1-RELEASE 或 FreeBSD 6.2-RC1 而非 FreeBSD 6.2-STABLEBSD or FreeBSD 7.0-CURRENT 之类的版本.FreeBSD 6.2-RELEASE版本后才有此指令。
不过使用该方法升级系统,需要注意备份原来的配置、数据库等文件,以防万一。
该方法目前仅适用于你使用的是默认的内核,
# freebsd-update upgrade -r 7.1-RELEASE
在此过程中会询问您对于一些配置文件的处理方法,需要你做出回答。
# freebsd-update install
# reboot
重新启动以后需要重新执行该命令来安装新的userland组件。
# freebsd-update install
需要注意的是使用intel的网卡,要把em变成igb,否则网络将有问题,
# reboot
关于的使用方法,可以参见http://www.bsdlover.cn/html/21/n-821.html,有一个相当来说详细的说明。
升级完系统以后,需要把ports的软件也更新一下,方法如下:
# portsnap fetch update
# pkg_version -vIL=
# portupgrade -a
原文地址 http://www.bsdlover.cn/html/53/n-2053.html