在线直接升级CentOS 4.x到CentOS 5.x最新版本

说明:

当前操作系统: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 http://vault.centos.org/4.9/CentOS-Base.repo  #下载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命令再查看一次

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

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

#下载CentOS 5.10的两个安装包

wget http://mirror.centos.org/centos/5/os/x86_64/CentOS/centos-release-5-10.el5.centos.x86_64.rpm

wget http://mirror.centos.org/centos/5/os/x86_64/CentOS/centos-release-notes-5.10-0.x86_64.rpm

#安装软件包

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 http://vault.centos.org/5.0/os/x86_64/CentOS/python-sqlite-1.1.7-1.2.1.x86_64.rpm

wget http://vault.centos.org/5.9/os/SRPMS/python-sqlite-1.1.7-1.2.1.src.rpm

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

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

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

下载地址:http://lug.ustc.edu.cn/wiki/_export/code/mirrors/help/centos?codeblock=1

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 http://vault.centos.org/4.4/os/x86_64/CentOS/RPMS/python-elementtree-1.2.6-4.2.1.x86_64.rpm

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  #查看系统启动设置,如下图所示

系统运维  www.osyunwei.com  温馨提醒: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最新版本教程完成。

时间: 2024-10-02 03:33:16

在线直接升级CentOS 4.x到CentOS 5.x最新版本的相关文章

CentOS 6.x系统升级Python到2.7版本的Shell脚本分享_linux shell

在CentOS 6.x上,默认自带的Python是2.6.x版本,这个版本的Python有点老了,比如"collections.OrderedDict"就是2.7才有的,而且著名的Python Web框架Django的新版(如:1.7)就不支持Python2.6,最低要求是2.7了.而一些公司或者共有云上的服务器就是使用CentOS6.x,所以也就有了升级Python到2.7的需求. 升级Python之前,需要先安装一些工具和软件库,否则后面安装Python或pip时可能出错. Pyt

how to create owned centos base image on centos

一般情况下, 我们需要制作image的话, 总需要一个基本的image, 那么这个base image是哪里来的呢? 如果不自制的话, 那就得去docker HUB下载. 其实base image也可以自制, 参考docker提供的mkimage开头的脚本 :  https://github.com/docker/docker/tree/master/contrib 例如mkimage-yum.sh是在centos中制作centos base image的脚本. 例如我在CentOS 6.x x

使用Http在线自动升级程序

开发背景 近几日一些程序老要修改点小毛病,为避免每次都通知程序使用者,便有想做一个在线自动升级的程序.在VCKBase看到一个是使用 FTP 的,想到 FTP 需要用户名密码,许多程序如KFW 防火墙都能监看到程序发送的数据包,为防止密码泄露,故自己选用Http来做更新.我的思路是用命令行传递程序名称.版本号和 Update.ini 配置文件的 URL.命令行用法如下: update.exe 程序名 版本 版本文件URL 例如: update.exe VolleyMail 3.0 http://

CentOS如何查看当前系统下的gcc版本命令?

  CentOS如何查看当前系统下的gcc版本命令?          1. gcc -v(Display the programs invoked by the compiler) [root@localhost /]# gcc -v Reading specs from /usr/i386-glibc-2.1-linux/lib/gcc-lib/i386-glibc21-linux/egcs-2.91.66/specs gcc version egcs-2.91.66 19990314/Li

win7系统如何在线免费升级win10的操作步骤

win7系统如何在线免费升级win10的操作步骤 1.更新win7操作系统;在控制面板窗口找到"windows UPdate"选项,找到"更改设置"选项,在更改设置窗口,找到"重要更新"栏目,在下拉菜单框中选择"自动跟新"选项,然后点击确定按钮; 2.这个时候电脑开始检测win7操作系统内容,操作系统检测之后就会提示win7操作系统升级; 3.当win7操作系统更新完毕后就会接收到win10升级的推送消息框; 4.点击&quo

驱动人生全面推出Windows10在线检测升级功能

  微软终于确认了Windows10的准确发布时间--7月29日.驱动人生紧跟步伐,全新大作.驱动人生全面推出Windows 10在线检测升级功能.各个硬件驱动包括显卡.声卡.主板.USB等都可以直接在网站下载更新.在线智能检测驱动功能,能快速检测计算机是否能升级Win10,并帮助您获得本机硬件驱动,以发挥计算机的最佳性能.看小编如何用驱动人生在线版玩转Windows10驱动. 打开浏览器,地址栏输入:http://drivers.160.com/special/hardware-test.ht

CentOS 最新版本git的安装教程_Linux

CentOS6.5自带的git版本是1.7.1 卸载自带的git # yum remove git 下载最新版git # wget https://github.com/git/git/archive/v2.9.2.tar.gz 解压 # tar zxvf v2.9.2.tar.gz # cd git-2.9.2 编译安装 # make configure # ./configure --prefix=/usr/local/git --with-iconv=/usr/local/libiconv

使用 Http 在线自动升级程序

 开发背景 近几日一些程序老要修改点小毛病,为避免每次都通知程序使用者,便有想做一个在线自动升级的程序.在VCKBase看到一个是使用 FTP 的,想到 FTP 需要用户名密码,许多程序如KFW 防火墙都能监看到程序发送的数据包,为防止密码泄露,故自己选用Http来做更新.我的思路是用命令行传递程序名称.版本号和 Update.ini 配置文件的 URL.命令行用法如下: update.exe 程序名 版本 版本文件URL 例如: update.exe VolleyMail 3.0 http:/

华为荣耀7i系统无法升级更新到最新版本怎么处理

华为荣耀7i出现手机无法进行ota升级的原因: 1:如果你手机有root权限并且使用root权限删除了一些与系统相关的文件,这样可能导致无法使用手机的ota升级了 2:手机刷了第三方的recovery这样的话一些第三方包是不支持ota升级的了, 3:由于你长时间没有更新,版本相关太大了,所以不能直接一步升级所以也无法使用ota更新了,可以改用电脑升级   下面是具体的解决方法: 主要思路:备份手机重要信息 -> 刷回官方recovery(这个是必须的,不然刷不了官方包) -> 刷官方固件包 1