如何将FreeBSD升级到新版本
时间:2020-01-09 10:39:49 来源:igfitidea点击:
问题描述:Ive自定义编译内核,如何将系统升级到最新的稳定版本。
如何在不使用freebsd-update二进制工具的情况下将FreeBSD升级到新版本?
解决方法:如果您安装了自定义内核,则freebsd-update将无法工作。
下面介绍执行基于源代码的更新的过程。
步骤1:获取最新的源代码
您需要使用csup,这是一个用于在网络上更新文件集合的软件包。
首先,将配置文件复制到/root,执行:
# cp /usr/share/examples/cvsup/standard-supfile /root/supfile
打开/root/supfile,执行:
# vi /root/supfile
找到如下所示的行:
host=CHANGE_THIS.FreeBSD.org
更改为(您可以在此处找到cvsup镜像列表):
host=cvsup4.us.FreeBSD.org
确保将标签设置为tag = RELENG_7_1(对于最新的FreeBSD 7.1版本)
*default release=cvs tag=RELENG_7_1
这是我的示例/root/supfile文件:
*default host=cvsup4.us.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
步骤2:构建基础系统
一旦同步了本地源树,就可以使用源树重建基本系统。
务必始终读取/usr/src/UPDATING文件以节省时间,这一点很重要。
该文件包含有关升级过程的重要信息,包括已知问题,错误和解决方法。
# vi /usr/src/UPDATING
了解所有问题后,请首先构建基本系统,然后执行:
# cd /usr/src # make buildworld
步骤3:构建FreeBSD内核
接下来,使用以下语法构建并安装FreeBSD内核:
# make buildkernel # make installkernel
要构建并安装名为foo的定制内核,请执行:
# make buildkernel KERNCONF=foo # make installkernel KERNCONF=foo
最后,重新启动服务器,执行:
# reboot
引导到单用户模式
您需要将FreeBSD引导到单用户模式,在加载程序提示符下执行boot -s:
boot -s
挂载文件系统并运行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:更新FreeBSD应用程序
最后,更新所有已安装的应用程序,例如Apache,postfix等,执行:
# portsnap fetch update
要升级所有已安装的FreeBSD端口/应用程序,请执行:
# portversion -l '