FreeBSD

Remote upgrade FreeBSD 6.2 to 7.0

最近把一台freebsd 6.2远程通过ssh升级到了7.0,参考了一个台湾网友(小恶魔)的日志,详细步骤如下。

远程升级FreeBSD.6.2至7.0
  1. edit /etc/make.conf
  2. cd /usr/src && make update
  3. make -j4 buildworld
  4. make buildkernel KERNCONF=ALLBLUE70
  5. make installkernel KERNCONF=ALLBLUE70
  6. make installworld
  7. mergemaster -i
  8. shutdown -r now #*** reboot ***
  9. cd /usr/ports && rm INDEX-6* && make fetchindex && portsdb -u
  10. cd /var/db/pkg && rm pkgdb.db && pkgdb -F
  11. portupgrade -af
  12. cd /usr/src && make BATCH_DELETE_OLD_FILES=YES delete-old delete-old-libs
  13. shutdown -r now #*** reboot ***
  14. cd /usr/ports/misc/compat6x; make install clean;
Parsed in 0.007 seconds

针对需要注意的步骤讲解一下,特别注意的是,在进行所有步骤之前进行必要的校时工作。

edit /etc/make.conf
第一步主要是去掉一些make.conf中的非标准信息,并且正确设置SUPFILE,以便使得第二步的源码更新步骤正确进行,因为服务器是至强的,编译参数进行了一定的调优。

Ports的日常更新

  升级ports,安装ports,这是在FreeBSD下很常见的工作。一般也都会安装portupgrade或者Portmanager来帮助管理。但也不能忽略了安全问题。升级时经常会看到提示“Vulnerability check disabled, database not found”,其实这是因为portaudit没有安装的缘故,它在ports-mgmt/portaudit下,应该说也是一个必装软件。

抓取最新数据库并打印当前漏洞
portaudit -Fda
Parsed in 0.001 seconds

如果需要建一个crontab来自动更新ports,可以如下

mllm © 2004-2008, allblue
0 3 * * * /usr/local/bin/cvsup /root/ports-supfile && cd /usr/ports/ && make fetchindex && portsdb -u && /usr/local/sbin/portaudit -F
Parsed in 0.002 seconds

创建基于集群的web服务LiveCD

就是说不需要安装系统,直接用光盘来引导机器,实现web集群,对于快速部署或者测试有极大的便利。因为是看了原文,然后自己加了些注释,所以一般注释都在一段E文之后,请注意阅读顺序。

先看看市场适用性:

升级至FreeBSD.5.2.1

因为可以再装一台FreeBSD,所以尝试把原来那台FreeBSD升级成5.2.1,使用make world。 首先是更新源码,主要就是设置cvsup,然后更新源码。

修改样本文件

/usr/share/examples/cvsup/stable-supfile

如下两行

*default host=cvsup.cn.FreeBSD.org
*default release=cvs tag=RELENG_5_2_1_RELEASE

然后执行

cvsup -g L 2 stable-supfile

更新完毕源码后

修改/etc/make.conf(样本文件在/usr/share/examples/etc/make.conf),添加

CFLAGS= -O -pipe
CXXFLAGS+= -fmemoize-lookups -fsave-memoized

然后进入/usr/src准备开始make world

因为我在5.2.0上升级到5.2.1,基本的user和group都不会有变动,所以就免去检查用户和组那一步。

查看的资料分两步和四步的,虽然两个步骤比较方便,但是出错的话,检查比较麻烦,所以先按四步来,毕竟是第一次。

聚合内容