如何使用csup将FreeBSD 7.2升级到FreeBSD 8

时间:2020-01-09 10:38:27  来源:igfitidea点击:

如何使用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