CentOS和Redhat的区别在于,CentOS是基于redhat的社区版,免费,跟Redhat对应,但是release比redhat慢。
Redhat的yum是非免费服务,而CentOS的yum是免费的,所以一般我们在Redhat上配置和CentOS的yum源。
升级环境:Redhat linux 5.11
一、首先检查你现在使用的系统中包含的 yum 软件
[root@subv2 yum.repos.d]# rpm -qa|grep yum
yum-3.2.22-40.el5
yum-metadata-parser-1.1.2-4.el5
yum-security-1.1.16-21.el5
yum-rhn-plugin-0.5.4.1-7.el5
yum-updatesd-0.9-6.el5_10
[root@subv2 yum.repos.d]#
可能大家与我的不一样,没关系,记住你包含的即可。
现在需要重新安装yum软件 ,卸载redhat 上的yum 软件,安装centos的yum软件
这里配置官方源,点击即可找到,同时还有其他版本的源。网上有很多163的源,但是很多路径下没有redhat5,建议安装前先检查路径是否正确有资源
比如有个 163的yum源,http://mirrors.sohu.com/centos/5.11/os/x86_64/CentOS/ 这个路径是找不到的
建议大家不要踩雷。
二、删除redhat自带的yum包
卸载上面显示的所有yum包:
# rpm -qa|grep yum|xargs rpm -e --nodeps(不检查依赖,直接删除rpm包)
# rpm -qa |grep yum (查询确认)
查看,无信息显示表示已经卸载完
三、下载新的Yum包 ,使用centos5.10的包
1)同时大家可以查看自己系统的版本号和系统类别 i386/i686代表32位系统,x86_64是64位系统
#cat /etc/redhat-release
2)根据之前检查存在的yum包,找到对应的,然后下载。地址在上面。我的服务器对应的是:
#wget http://vault.centos.org/5.10/os/x86_64/CentOS/yum-3.2.22-40.el5.centos.noarch.rpm
#wget http://vault.centos.org/5.10/os/x86_64/CentOS/yum-updatesd-0.9-5.el5.noarch.rpm
#wget http://vault.centos.org/5.10/os/x86_64/CentOS/yum-metadata-parser-1.1.2-4.el5.x86_64.rpm
#wget http://vault.centos.org/5.10/os/x86_64/CentOS/yum-security-1.1.16-21.el5.centos.noarch.rpm
#wget http://vault.centos.org/5.10/os/x86_64/CentOS/yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm
这里奇怪的是没有找到yum-rhn-plugin的相关下载文件。先不管它
注意!! 同时也要下载一个yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm文件,因为他与yum-3.2.22-40.el5.centos.noarch.rpm存在依赖,如果不下载,会安装yum-3.2.22-40.el5.centos.noarch.rpm失败。
注意!!
安装时yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm 与yum-3.2.22-40.el5.centos.noarch.rpm要同时安装
[root@subv2 appadmin]# rpm -ivh yum-metadata-parser-1.1.2-4.el5.x86_64.rpm
warning: yum-metadata-parser-1.1.2-4.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
Preparing... ########################################### [100%]
1:yum-metadata-parser ########################################### [100%]
[root@subv2 appadmin]# rpm -ivh yum-3.2.22-40.el5.centos.noarch.rpm yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm
warning: yum-3.2.22-40.el5.centos.noarch.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
Preparing... ########################################### [100%]
1:yum-fastestmirror ########################################### [ 50%]
2:yum ########################################### [100%]
[root@subv2 appadmin]#rpm -ivh yum-updatesd-0.9-5.el5.noarch.rpm
[root@subv2 appadmin]#rpm -ivh yum-security-1.1.16-21.el5.centos.noarch.rpm
四、本步很重要
下载并替换repo文件 :网上有教程说下载这个:http://mirrors.163.com/.help/CentOS5-Base-163.repo
但是这个文件里面的Baseurl 也是不存在的 切记 不要踩雷。 其他的源请检查文件中的Baseurl 是否正确。
我这个版本的已经下载好,大家可以使用。 其他版本 只要在里面修改 版本号 即可。里面的URL都是存在的。
我的.repo文件在我的资源中,下面的也可以用。即 $releasever 为5.10,$basearch 为 x86_64
如果不修改这俩变量,在安装GCC或者其他时会出现依赖错误,或者时其他
[base]
name=CentOS-5.10 - Base
baseurl=http://vault.centos.org/5.10/os/x86_64/
#mirrorlist=http://mirrorlist.centos.org/?release=5.11&arch=$basearch&repo=os
gpgcheck=1
gpgkey=http://vault.centos.org/RPM-GPG-KEY-CenstOS-5
#released updates
[updates]
name=CentOS-5.10 - Updates
baseurl=http://vault.centos.org/5.10/updates/x86_64/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=http://vault.centos.org/RPM-GPG-KEY-CenstOS-5
#additional packages that may be useful
[extras]
name=CentOS-5.10 - Extras
baseurl=http://vault.centos.org/5.10/extras/x86_64/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=http://vault.centos.org/RPM-GPG-KEY-CenstOS-5
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-5.10 - Plus
baseurl=http://vault.centos.org/5.10/centosplus/x86_64/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0
gpgkey=http://vault.centos.org/RPM-GPG-KEY-CenstOS-5
#contrib - packages by Centos Users
[contrib]
name=CentOS-5.10 - Contrib
baseurl=http://vault.centos.org/5.10/contrib/x86_64/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
gpgcheck=1
enabled=0
gpgkey=http://vault.centos.org/RPM-GPG-KEY-CenstOS-5
以上代码均正确。
(此步可以不操作)以前因为内网限制,是需要设置代理的(如下设置环境变量)。而现在已经开放了限制,不需要设置代理。
export http_proxy="http://10.99.93.34:8080/"
export https_proxy="https://10.99.93.34:8080/"
还有一种方法是在/etc/yum.conf中设置:
proxy=http://10.99.93.34:8080/
五、下载文件: 我使用的是这个 http://vault.centos.org/RPM-GPG-KEY-CentOS-5
网上教程 :http://mirrors.sohu.com/centos/RPM-GPG-KEY-CentOS-5
我检查了2个文件中的内容相同。
放入目录/etc/pki/rpm-gpg/中。
运行 yum clean all
yum makecache
等待一会即可使用yum 。
如果在 yum xxx 安装时出现 GPG key retrieval failed: [Errno 14] HTTP Error 404: Not Found 错误
在命令后 加上 --nogpgcheck 即可
如: yum upgrade --nogpgcheck
或者修改你的repo文件,在每个仓库的配置区域最后加上或修改gpgcheck=0
gpgcheck=1 表示要验证 0表示不需要验证
仓库文件在 /etc/yum.repos.d/中