[Linux 常用技巧] CentOS4 升级到 CentOS5
转载本站文章请注明,转载自:扶凯[http://www.php-oa.com]
本文链接: http://www.php-oa.com/2009/06/29/centos4-to-centos5.html
我有11台服务器,因为是Centos4不能安装最新的mencoder,装我很头大,所以狠心下来,都给这些远程升级了算了.
研究了半天,网上的说法不一,又乱,测试了n多次,拿这11台做了实验品.
下面就给过程写出来吧.
1.先下载centos5的yum.repo的包
$ cd /etc/yum.repos.d/ $ cp CentOS-Base.repo CentOS-Base.repo.bak $ wget http://blog.s135.com/soft/linux/centos/5.2/CentOS-Base.repo
$ uname -r Linux 2.6.9-55.ELsmp
2. 为版本升级前做的准备
$ rpm -e kernel-utils kernel kernel-smp-devel kernel-xenU-devel kernel-devel \ kernel-hugemem-devel kernel-doc kernel-smp --nodeps --justdb $ rm -f /etc/yum.repos.d/rpmforge.repo /etc/yum.repos.d/mirrors-rpmforge
升级前,先要给内核包信息从rpm的db中去掉,如上,我使用了–justdb,不删除,只从db中去掉这些内核的信息,这样内核升级时不会冲突,也还有个好处这个升级没成,好坏还有个内核在,能启动.
$ rpm -e xemacs bg5ps cyrus-imapd-murder imlib-devel kdenetwork-nowlistening MySQL-python \ freetype-utils frysk seamonkey-devel hpoj-devel gnome-libs VFlib2-conf-ja gnome-libs xorg-x11-xdm \ kinput2 cyrus-imapd-nntp seamonkey VFlib2 caching-nameserver autofs kudzu pcmcia-cs xorg-x11 \ newt-perl hal crypto-utils dmraid seamonkey-nss-devel kdenetwork-nowlistening mkvtoolnix wxGTK \ xemacs MySQL-python bg5ps freetype-utils frysk cyrus-imapd-murder \ hpoj-devel freetype-utils seamonkey-nspr-devel seamonkey-devel imlib-devel --nodeps
以上包,删除,有可能产生比较严重的依赖问题.
3. 开始升级整个系统(Centos4 to Centos5)
在做upgrade前,建议先做一个rpm db的重新rebuild.当然没有出错也可以不错
$ rm -f /var/lib/rpm/__* $ rpm --rebuilddb
好,现在开始升级upgrade
$ yum upgrade
4,喝个咖啡吧….然后回来reboot,然后和上帝讲"主啊,你一定要让我的系统可以在启动起来"
在重起前,最好检查一下 /etc/grub.conf 及 /boot 是否正常.最重起.
5,进入新系统,检查内核版本和操作系统版本
$ uname -r 2.6.18-128.1.14.el5 $ cat /etc/redhat-release CentOS release 5.3 (Final)
升级完成后最好还重建 rpm db 一次
$ rm -f /var/lib/rpm/__* $ rpm --rebuilddb
6. 清理垃圾(不是必要)
由于是大版本升级,在升级过程中,有些软件可以接受比较旧的版本导致还是会有些软件包是 el4 而不是 el5
我们可以检查还有哪些是 el4
$ rpm -qa | grep -i el4| xargs rpm -e $1 --nodeps
有时升级会出错,Error: Missing Dependency: python-abi = 2.3 is needed by package python-elementtree
这是由于这个包依赖有问题,所以我们需要重新降级这 个依赖包
$ wget http://vault.centos.org/4.4/os/i386/CentOS/RPMS/python-elementtree-1.2.6-4.2.1.i386.rpm $ rpm -e --nodeps python-elementtree $ rpm -ivh --nodeps python-elementtree-1.2.6-4.2.1.i386.rpm



















11台服务器。。
我的CentOS5.2升级到CentOS5.3就直接用yum upgrade了,暂时还没有发现什么问题
升级kernle没有勇气是做不了,太折腾人了