如何使用csup将FreeBSD 7.2升级到FreeBSD 8
如何使用csup源代码方法(包括所有端口)将FreeBSD 7.2升级到FreeBSD 8稳定版?
csup
是一个通用的网络文件更新包。
这是非常快的程序。
在尝试升级之前,请确保已备份所有数据,MySQL/PGSQL数据库和配置文件。
很好地支持了以前版本的基于源的升级,建议您完全控制您的FreeBSD 8内核和基本系统。
步骤1:编辑替代文件
复制现有的supfile,执行:
# cp /usr/share/examples/cvsup/standard-supfile /root/supfile.8 # vi /root/supfile.8
设置主机名,该主机名指定将向您的计算机提供文件更新的服务器主机。
您必须将其设置为FreeBSD页面中列出的CVSup镜像站点之一
*default host=cvsup1.us.FreeBSD.org
将发布标签设置为稳定8:
*default release=cvs tag=RELENG_8_0
保存并关闭文件。
第2步:获取FreeBSD 8 Base System
执行以下命令:
# csup /root/supfile.8
阅读有关FreeBSD 8的所有最新更新信息,执行:
# vi /usr/src/UPDATING
步骤3:构建FreeBSD 8基本系统
您可以启用或禁用某些功能,例如NIS,ATM,BLUETOOTH等(请参见src.conf(5)手册页)。
编辑/etc/src.conf并从基本系统禁用必需的功能:
WITHOUT_ATM=yes WITHOUT_CALENDAR=yes WITHOUT_GAMES=yes WITHOUT_I4B=yes WITHOUT_IPFILTER=yes WITHOUT_IPX=yes WITHOUT_LPR=yes WITHOUT_NETCAT=yes WITHOUT_NIS=yes WITHOUT_RCMDS=yes WITHOUT_SENDMAIL=yes WITHOUT_WPA_SUPPLICANT_EAPOL=yes WITHOUT_ZFS=yes WITHOUT_BLUETOOTH=yes
注意,您可以跳过/etc/src.conf并构建整个系统。
要构建FreeBSD 8系统,请执行:
# cd /usr/src # make cleanworld && make cleandir # make buildworld
步骤4:构建FreeBSD 8内核
您需要编辑位于/usr/src/sys /uname -p
/conf的内核配置文件,执行:
# cd /usr/src/sys/`uname -p`/conf # ls -l
默认文件名为GENERIC。
编辑GENERIC或您自己的自定义内核文件(例如theitroad),执行:
# vi GENERIC
或者
# vi theitroad
我的示例内核配置文件:
include GENERIC ident www303 options SMP nodevice ugen nodevice uhid nodevice ulpt nodevice umass nodevice ums nodevice ural nodevice urio nodevice uscanner nodevice aue nodevice axe nodevice cdce nodevice cue nodevice kue nodevice rue options CONSPEED=19200 options QUOTA # pf firewall specific device pf device pflog device pfsync options ALTQ options ALTQ_CBQ # Class Bases Queuing (CBQ) options ALTQ_RED # Random Early Detection (RED) options ALTQ_RIO # RED In/Out options ALTQ_HFSC # Hierarchical Packet Scheduler (HFSC) options ALTQ_PRIQ # Priority Queuing (PRIQ) options ALTQ_NOPCC # Required for SMP build # Turn on device polling for em driver options DEVICE_POLLING options HZ=1000
根据您的设置进行更改。
最后,构建并安装FreeBSD 8内核,运行:
# make buildkernel # make installkernel
或使用您的自定义内核配置名称(例如theitroad),运行:
# make buildkernel KERNCONF=theitroad # make installkernel KERNCONF=theitroad
步骤5:重新引导并引导到单用户模式
要重新引导系统,请执行:
# reboot
要引导到单个用户,请在引导加载程序提示符处按4键:
FreeBSD Boot Loader菜单
关于使用KVM的远程FreeBSD服务器的说明
您需要使用KVM引导到单用户模式以完成整个升级过程。
KVM无法在单用户模式下工作。
但是,您可以加载usb.ko和其他模块以在单用户模式下获得kvm支持。
在引导加载程序中按[Enter]键。
使用KVM客户端连接到远程FreeBSD盒,然后发出重新启动命令。
在FreeBSD的启动菜单上,按[Spacebar]键可暂停默认启动。
按6引导至加载程序提示。
执行以下命令以加载KVM支持并引导到单用户模式:
load usb.ko set boot_serial=NO set boot_multicons=NO set console=vidconsole boot -s
登录到单用户模式后,挂载所有ufs分区,执行:
# mount -a -t ufs
步骤6:合并配置文件
mergemaster实用程序旨在帮助您更新与FreeBSD相关的各种配置和其他文件。
安装新基本系统所需的sys配置文件。
要仅比较已知对成功安装世界至关重要的文件,请执行:
# mergemaster -p
步骤7:安装FreeBSD 8基本系统
执行以下命令:
# cd /usr/src # make installworld
最后合并您的配置文件,执行:
# mergemaster -i
"警告!"在基本系统中,请小心/etc/passwd,/etc/group和其他文件。
在安装新版本或合并现有配置文件之前,请验证每个文件。
最后,重新启动该框:
# reboot
步骤8:验证新安装
执行以下命令:
# uname -a # tail -f /var/log/messages # grep 'something' /path/to/log/file
步骤9:升级端口(应用程序)
输入以下命令:
# portsnap fetch update # vi /usr/ports/UPDATING # portmaster -Da
再次重新启动该框,并确保一切正常,然后执行:
# reboot
最后,删除旧库,执行:
# cd /usr/src # make delete-old