更新FreeBSD 6.0 Release到最新的Stable

来源:岁月联盟 编辑:zhu 时间:2008-01-19
更新FreeBSD 6.0 Release到最新的Stable内容简介:【FreeBSD教程】注重: 不能使用“make world”进行更新,在FreeBSD 6.0中已经不支持这个target了,假如使用的话,会报错! 更新FreeBSD 6.0到最新的Stable大致需要以下几个步骤 1、删除以往的系统更新   【FreeBSD教程】注重:不能使用“make world”进行更新,在FreeBSD 6.0中已经不支持这个target了,假如使用的话,会报错!

  更新FreeBSD 6.0到最新的Stable大致需要以下几个步骤

  1、删除以往的系统更新树(假如以前未作更新可忽略),在/usr/obj目录下。

  方法是:

  #cd /usr/obj
  #chflags -R noschg *
  #rm -rf *
  
  另外的清除任务:假如以前更新过系统,或者更新时出现中断,运行下面的命令:

  #cd /usr/src
  #make cleardir
  #make cleardir
  

  2、利用cvsup同步Stable源代码树:

  在/usr/share/examples/cvsup目录下找到“stable-supfile”这个文件,推荐拷贝到用户目录下面,诸如:/root,修改里面的

  *default host=CHANGE_THIS.FreeBSD.org

  把“CHANGE_THIS.FreeBSD.org“改成“cvsup.freebsd.org"或者"cvsup.freebsdchina.org".

  在"cvsup.freebsd.org"中,可以获得最新的stable源代码树!

  运行下面的命令:
  
  #cd /root ;转换到你修改过的stable-supfile所在的目录

  #cvsup stable-supfile
  

  3、记录更新的屏幕信息(可选)

  为了了解整个的更新过程,有必要对更新时屏幕的信息进行记录,或许相关的信息,针对几个过程,推荐分别进行跟踪记录。

  例如,记录buildworld的信息,可以采取下面的方式:

  #script /root/mkbuildworld.out

  这个命令行启动了脚本的运行记录,保存到/root/mkbuildworld.out文件中,接下来,我们只要输入命令即可!

  当所有的命令运行完成后,输入:

  #exit

  退出脚本跟踪程序!

  4、建立新的stable树:
  
  #make buildworld ;在/usr/obj目录下建立一个全新的stable树

  5、建立新的系统内核:
  
  #make buildkernel ;建立新的stable缺省内核

  6、安装新的系统内核:
  
  #make installkernel :安装新的内核
  #reboot ;重新启动系统

  7,重新启动系统后,要进入单用户模式,对于FreeBSD 6 可以在启动文本菜单上选择“4”,进入单用户模式,然后输入下面的命令:
  
  #fsck -p ;检查文件系统
  #mount -u / ;装载根分区
  #mount -a -t ufs ;装载所有的ufs分区
  #swapon -a ;打开交换空间

  8、安装新建的Stable树,保证内核和应用程序之间的同步:

  (1)运行下面的命令:

  #mergemaster -p

  (2)安装新的Stable程序树

  #make installworld

  (3)进行/etc目录下配置文件的修改或更新

  #mergemaster

  9、关于"mergemaster -p"的说明

  "mergemaster"是一个用于安装系统配置文件的脚本工具,"mergemaster -p"的作用是建立一个临时的根环境,把新的配置文件映射到这个环境

  当中,然后和系统的配置文件进行比较和处理,目的是保证系统配置文件的更新,这一点很重要!在执行"mergemaster -p"的过程中,主要是

  进行以下处理:

  检测系统是否存在临时的根环境,假如存在,让用户选择是利用现有的还是删除它,然后新建!

  *** The directory specified for the temporary root environment,
   /var/tmp/temproot, exists. This can be a security risk if untrusted
   users have access to the system.

   Use 'd' to delete the old /var/tmp/temproot and continue ;按 "d" ,删除
   Use 't' to select a new temporary root directory ;按 "t" ,选择新的目录
   Use 'e' to exit mergemaster ;按 "e" ,退出

   Default is to use /var/tmp/temproot as is

  How should I deal with this? [Use the existing /var/tmp/temproot]

  一般的处理是选 "d" ,删除原有的目录,系统开始重新建立这个临时的根环境。

  10、关于"mergemaster"的说明

  执行完"make installworld"之后,需要对系统的"/etc"目录下的文件进行更新,在运行过程中,需要用户和系统进行交互,以确定需要对系统

  的配置文件进行怎样的更新。

  每个配置文件的更新操作都有4个选项:

   Use 'd' to delete the temporary ;不更新相应的系统配置文件
   Use 'i' to install the temporary ;用新的配置文件覆盖旧的系统配置文件
   Use 'm' to merge the temporary and installed versions ;根据新的配置文件,对旧的配置文件进行合并处理
   Use 'v' to view the diff results again ;察看新的配置文件和系统原有的配置文件的不同

  更新操作时,要根据用户自己的想法进行相应的操作,假如是新安装的系统进行更新的话,或者不需要保留原有的配置的话,一般选择第二项操作。

图片内容