Freebsd 7.0升级到7.1出错,折腾死我了

以往无升级经验,所以这次升级又搞了个好大问题出来了,折腾得够苦啊,先去Freebsdchina.org和chinaunix.net和freebsd手册看了N遍,跟住就开始操作了, 运作中的系统不间断操作升级,无备份,发觉我好狼啊,O(∩_∩)O哈哈~

# ee /usr/share/examples/cvsup/standard-supfile


*default release=cvs tag=RELENG_7
改成
*default release=cvs tag=RELENG_7_1


*default host=CHANGE_THIS.FreeBSD.org
改成
*default host=cvsup.FreeBSDChina.org

然后

# cvsup -L 2 /usr/share/examples/cvsup/standard-supfile
# cvsup -L 2 /usr/share/examples/cvsup/ports-supfile <= 其实这步我认为是错误的,应该在 installworld 后再做好,不做这步
# cd /usr/src/
# make -j4 buildworld
其实还要重新配置内核文件的
# make -j4 buildkernel KERNCONF=kernelconffile
应该要reboot重启机器,我没有啊!
# make installkernel KERNCONF=kernelconffile
# make installworld
# mergemaster -i <=这个是对比新旧配置文件,我部机走到这部操作后,无端d端自动重启了,本来要:reboot , 出奇啊 , 在这部我的ssh 终端断开了。
# reboot <= 正规好像是要手工reboot的

好在自动reboot完后一切正常,可以用ssh连上,

然后就是我的惊魂了,我执行了portmanager -u , 这步是升级ports, 顺便帮你系统更新的,但之后所有web程序不能运行了,查看web的log日志,发觉了
FastCGI sent in stderr: PHP Fatal error: Call to undefined function preg_match() in …
麻烦就是从这里开始了,去google查,原来是缺少php5-pcre模块,用pkg_info查看”包” , 真的少了,去ports那里查找php5-pcre, 不存在,以为ports坏了,
又来多一次cvsup 升级 ports , 再portmanager -u , 还是一样,再google, 还是没明确答按,哎,惨了,看来我要死在这里了…

无奈中,在freebsdchina.org 看见说,网址:
http://www.freebsdchina.org/forum/viewtopic.php?p=232417&sid=9a49e18b3fcefb7dc8a63a197611185c
我在终端输入php -v ,发觉php的版本是 5.2.6 , 再去查看ports的php的版本是5.2.8,看来是版本不同造成的.

于是用 pkgdb -F 修复扫描,于是安装上portupgrade , 然后就有了 pkgdb 命令了,跟住:

cvsup -L 2 /usr/share/examples/cvsup/ports-supfile
rm /var/db/pkg/pkgdb.db
pkgdb -fu
portupgrade -af

去睡觉,早上起来看 upgrade完,再重新配置文件的设定,再reboot , 一切ok, 就这样折腾了一天,我的青春啊!

在 installworld 后再 portupgrade 看来好要紧啊,乱来的结果真惨,以后有经验了。

portupgrade后,我的nginx、mysql、pure-ftpd的配置文件全变了,要重新配置一遍.

参考网址:
http://allblue.mllm.org/node/244
http://marshalys.blogspot.com/2008/12/freebsd6270.html
http://blog.damon.tw/index.php?itemid=220
http://www.freebsdchina.org/forum/topic_43626_0.html

关于无聊人

一个无聊人而已
此条目发表在Freebsd分类目录,贴了, , 标签。将固定链接加入收藏夹。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注