自打RedHat推出Enterprise advance server 5之后
centos也及时推出了ceotos 5
这里是升级文档(centos4.4->centos5.0)
Online Upgrade from CentOS-4/Final
The best way to move from CentOS-4 to CentOS-5 is via an installer
upgrade. However if you must do it online, here are some tips to help:
- Remove as many packages as you can, strip it right back to the
original OS if possible
- Backup everything
- Disable all repositories, except the centos-5 OS and Updates repos
- init 3
- shutdown as many services as possible
- download and install the centos-release-5.x rpm, which will update
your yum configs
- run a yum upgrade ( not update )
文档出自centos的官方
rpm -Uvh http://mirror.centos.org/centos/5/os/i386/CentOS/centos-release-5-0.0.el5.centos.2.i386.rpm http://mirror.centos.org/centos/5/os/i386/CentOS/centos-release-notes-5.0.0-2.i386.rpm
这是因为centos-release包依赖于centos-release-notes包,所以升级centos-release就必须同时升级centos-release-notes
然后
cd /etc/yum.repos.d
cp -f CentOS-Base.repo.rpmnew CentOS-Base.repo
这样的话就可以先rpm -qa | grep kernel看看有些什么老版本的kernel
然后再用命令rpm -e -nodeps -justdb kernel-xxx(这是上一步grep出来的系统存在的老版本的kernel)
必须先做这一步,否则直接yum -y upgrade的话会出这里可能会出一堆的错误
大概意思就是hal、kudzu、initscript等包跟kernel版本冲突(就是说新版本的kernel跟老版本的kernel冲突)
然后再yum -y upgrade大概就不会有什么问题了
upgrade完了之后再install新系统(centos5)的kernel
yum install kernel kernel-PAE
这时候也还可能出错
是因为系统里有好多包是centos4和centos5并存
这样的话新kernel和老的(centos4)的包冲突
出现这样的问题简单
先rpm -qa | grep xxx看一下
一般情况肯定会有2个xxx的包
把老的那个rpm -e掉
循环做,直到所有的冲突包都解决掉
比如我这里
rpm -e e2fsprogs-devel-1.35-12.4.EL4 e2fsprogs-1.35-12.4.EL4 isdn4k-utils-3.2-18.p1.1 selinux-policy-targeted-1.17.30-2.140 nfs-utils-1.0.6-70.EL4 procps-3.2.3-8.4 udev-039-10.15.EL4 ppp-2.4.2-6.4.RHEL4 iptables-1.2.11-3.1.RHEL4
一般这样之后
yum install kernel kernel-PAE就不会出错了
最后再重启机器
应该就是centos5的系统了。