Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1021526
  • 博文数量: 361
  • 博客积分: 25
  • 博客等级: 民兵
  • 技术积分: 1759
  • 用 户 组: 普通用户
  • 注册时间: 2012-09-22 23:18
个人简介

学海无涯 个人blog lnmps.com 新站

文章分类

全部博文(361)

文章存档

2017年(1)

2015年(2)

2014年(55)

2013年(303)

分类: LINUX

2014-06-26 18:04:05

说明:

当前操作系统:CentOS 4.x 64位

实现目的:

通过yum命令在线升级CentOS 4.x到CentOS 5.x最新版本

一、升级CentOS 4.x到CentOS 4.9版本

cd /etc/yum.repos.d/  #进入目录

mv CentOS-Base.repo  CentOS-Base.repo-bak  #备份之前的文件

wget #下载CentOS 4.9的yum源文件

yum clean all #清理之前缓存目录下的软件包

rm -f /var/lib/rpm/__db* #删除rpm包数据

rpm --rebuilddb #重建rpm包数据

yum -y update  #升级系统

二、升级CentOS 4.9到CentOS 5.x最新版(目前为CentOS 5.10)

rpm -qa | grep kernel  #查看系统当前内核,如下所示:

#############################################

kernel-smp-2.6.9-89.EL

kernel-devel-2.6.9-100.EL

kernel-smp-devel-2.6.9-100.EL

kernel-2.6.9-100.EL

kernel-smp-2.6.9-100.EL

kernel-2.6.9-89.EL

kernel-devel-2.6.9-89.EL

kernel-smp-devel-2.6.9-89.EL

kernel-largesmp-devel-2.6.9-100.EL

kernel-utils-2.4-23.el4

kernel-largesmp-devel-2.6.9-89.EL

rpm -e --nodeps --justdb python-elementtree

#############################################

#运行下面的命令删除系统内核

rpm -e --nodeps --justdb kernel-smp-2.6.9-89.EL

rpm -e --nodeps --justdb kernel-devel-2.6.9-100.EL

rpm -e --nodeps --justdb kernel-smp-devel-2.6.9-100.EL

rpm -e --nodeps --justdb kernel-2.6.9-100.EL

rpm -e --nodeps --justdb kernel-smp-2.6.9-100.EL

rpm -e --nodeps --justdb kernel-2.6.9-89.EL

rpm -e --nodeps --justdb kernel-devel-2.6.9-89.EL

rpm -e --nodeps --justdb kernel-smp-devel-2.6.9-89.EL

rpm -e --nodeps --justdb kernel-largesmp-devel-2.6.9-100.EL

rpm -e --nodeps --justdb kernel-utils-2.4-23.el4

rpm -e --nodeps --justdb kernel-largesmp-devel-2.6.9-89.EL

rpm -e --nodeps --justdb rpm -e --nodeps --justdb python-elementtree

注意:内核一定要全部删除,否则会导致升级失败,删除完成之后,可以使用rpm -qa | grep kernel命令再查看一次

系统运维    温馨提醒:qihang01原创内容©版权所有,转载请注明出处及原文链

cd /etc/yum.repos.d/ #进入目录

#下载CentOS 5.10的两个安装包

wget

wget

#安装软件包

rpm -Uvh  centos-release-notes-5.10-0.x86_64.rpm

rpm -Uvh  centos-release-5-10.el5.centos.x86_64.rpm

#下载CentOS 5的两个安装包,后面会用到

wget

wget

cd /etc/yum.repos.d/ #进入目录

mv CentOS-Base.repo  CentOS-Base.repo-4 #备份之前的文件

下载CentOS 5的CentOS-Base.repo 并且上传到/etc/yum.repos.d/下

下载地址:

yum clean all #清理之前缓存目录下的软件包

rm -f /var/lib/rpm/__db* #删除rpm包数据

rpm --rebuilddb #重建rpm包数据

yum -y remove *.{i386,i586,i686}  #删除旧版软件包,重要,否则系统升级失败

yum -y upgrade #升级系统

可能会碰到类似下面的错误:

错误1:

Error: Missing Dependency: python-abi = 2.3 is needed by package python-elementtree

解决办法:

#下载下面的软件包

wget

rpm -e --nodeps python-elementtree  #删除系统当前的软件包

rpm -Uvh --nodeps python-elementtree-1.2.6-4.2.1.x86_64.rpm  #安装刚刚下载的软件包

错误2:

Error: Missing Dependency: libttf.so.2()(64bit) is needed by package bg5ps

解决办法:

yum -y remove bg5ps #删除

yum -y upgrade #继续升级系统

直到升级完成,出现complete!

三、修复yum命令

系统升级完成之后,会导致yum命令无法使用,下面进行修复

cd /etc/yum.repos.d/  #进入目录

#安装之前下载好的软件包

rpm -Uvh --nodeps  python-sqlite-1.1.7-1.2.1.x86_64.rpm

rpm -ivh python-sqlite-1.1.7-1.2.1.src.rpm

cd /usr/src/redhat/SPECS  #进入目录

rpmbuild -bb *.spec #创建rpm包

cd /usr/src/redhat/RPMS/x86_64  #进入目录

#安装此目录下所有的包

rpm -Uvh --force python-sqlite-debuginfo-1.1.7-1.2.1.x86_64.rpm

rpm -Uvh --force python-sqlite-1.1.7-1.2.1.x86_64.rpm

四、设置系统启动参数

lsb_release -a #查看系统版本信息,如下图所示

rpm -qa | grep kernel #查看系统内核,如果没有,运行yum install kernel kernel-PAE安装内核

cat /boot/grub/grub.conf  #查看系统启动设置,如下图所示

系统运维    温馨提醒:qihang01原创内容©版权所有,转载请注明出处及原文链

##########################################

default=0

timeout=5

splashimage=(hd0,0)/grub/splash.xpm.gz

hiddenmenu

title CentOS (2.6.18-371.9.1.el5)

root (hd0,0)

kernel /vmlinuz-2.6.18-371.9.1.el5 ro root=LABEL=/1

initrd /initrd-2.6.18-371.9.1.el5.img

##########################################

可以看到新的系统内核(2.6.18-371.9.1.el5)已经自动添加为默认启动

shutdown -r now #重启系统

uname -a #查看当前系统内核

至此,在线升级CentOS 4.x到CentOS 5.x最新版本教程完成。

阅读(1226) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~