redhat6.5 配置使用centos的yum源

新安装了redhat6.5.安装后,登录系统,使用yum update 更新系统。提示:

This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.

无法更新。

redhat 默认自带的 yum 源需要注册,才能更新。我们想不花钱也可以更新,需要替换掉redhat的yum源。

1.检查是否安装yum包

查看RHEL是否安装了yum,若是安装了,那么又有哪些yum包:

[root@localhost ~]# rpm -qa |grep yum

yum-metadata-parser-1.0-8.fc6

yum-3.0.1-5.el5

yum-rhn-plugin-0.4.3-1.el5

yum-updatesd-3.0.1-5.el5

2 删除redhat自带的yum包

卸载上面显示的所有yum包:

[root@localhost ~]# rpm -qa|grep yum|xargs rpm -e --nodeps(不检查依赖,直接删除rpm包)

再用

[root@localhost ~]# rpm -qa |grep yum

[root@localhost ~]# 

查看,无信息显示表示已经卸载完成。

3.下载新的yum包。使用Centos6.6的yum包

http://mirrors.163.com/centos/6.6/os/i386/Packages/yum-metadata-parser-1.1.2-16.el6.i686.rpm
# wget http://mirrors.163.com/centos/6.6/os/i386/Packages/yum-3.2.29-40.el6.centos.noarch.rpm
# wget http://mirrors.163.com/centos/6.6/os/i386/Packages/yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm

安装yum软件包

注意:单个的安装包可能会依赖其它包(例如yum和yum-fastestmirror会相互依赖),所以我们可以把所有这些包放在一起,用一行命令将它们同时安装即可:

# rpm -ivh yum-metadata-parser-1.1.2-16.el6.i686.rpm yum-3.2.29-40.el6.centos.noarch.rpm yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm

更换yum源。使用163的源


# cd /etc/yum.repos.d/
# wget  http://mirrors.163.com/.help/CentOS6-Base-163.repo
# vi CentOS6-Base-163.repo

编辑文件,把文件里面的$releasever全部替换为版本号,即6.6 最后保存!或者直接把下面的内存拷贝到CentOS6-Base-163.repo文件中即可(已经修改好)

# CentOS-Base.repo
#
# The mirror system uses the connecting IP address of the client and the
# update status of each mirror to pick mirrors that are updated to and
# geographically close to the client.  You should use this for CentOS updates
# unless you are manually picking other mirrors.
#
# If the mirrorlist= does not work for you, as a fall back you can try the 
# remarked out baseurl= line instead.
#
#
 
[base]
name=CentOS-6.6 - Base - 163.com
baseurl=http: //mirrors .163.com /centos/6 .6 /os/ $basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=6.6&arch=$basearch&repo=os
gpgcheck=1
gpgkey=http: //mirror .centos.org /centos/RPM-GPG-KEY-CentOS-6
 
#released updates 
[updates]
name=CentOS-6.6 - Updates - 163.com
baseurl=http: //mirrors .163.com /centos/6 .6 /updates/ $basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=6.6&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=http: //mirror .centos.org /centos/RPM-GPG-KEY-CentOS-6
 
#additional packages that may be useful
[extras]
name=CentOS-6.6 - Extras - 163.com
baseurl=http: //mirrors .163.com /centos/6 .6 /extras/ $basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=6.6&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=http: //mirror .centos.org /centos/RPM-GPG-KEY-CentOS-6
 
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-6.6 - Plus - 163.com
baseurl=http: //mirrors .163.com /centos/6 .6 /centosplus/ $basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=6.6&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0
gpgkey=http: //mirror .centos.org /centos/RPM-GPG-KEY-CentOS-6
 
#contrib - packages by Centos Users
[contrib]
name=CentOS-6.6 - Contrib - 163.com
baseurl=http: //mirrors .163.com /centos/6 .6 /contrib/ $basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=6.6&arch=$basearch&repo=contrib
gpgcheck=1

 enabled=0

 gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6


5.清除原有缓存


# yum clean all



重建缓存,以提高搜索安装软件的速度


# yum makecache

6.更新系统


# yum update


在配置CentOS-6.0-x86_64-bin-DVD2.iso作为本地yum源的时候,碰到相当多的问题:

-----------------------------------------  问题一  ------------------------------------------

将CentOS-6.0-x86_64-bin-DVD2.iso挂载在/mnt上,并配置本地yum源:

#mount /root/CentOS-6.0-x86_64-bin-DVD2.iso /mnt -o loop #vi /etc/yum.repos.d/software.repo  [software]  name=software  baseurl=file:///mnt  enabled=1  gpgcheck=1  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 #yum repolist

然后就报错了-_-!,错误的信息差不多就是:

file:///mnt/repodata/repomd.xml: [Errno 14] Could not open/read file:///mnt/repodata/repomd.xml . mistake from baseurl does not contain the repodata directory

问题出现的原因:

CentOS-6.0-x86_64-bin-DVD2.iso这个镜像里没有包含yum的包索引数据库repomd.xml,这个文件一般是放在repodata文件夹的。所以,不用特殊的工具,这个CentOS-6.0-x86_64-bin-DVD2.iso中包含的Packages不能单独作为yum的本地源。

-----------------------------------------  问题二  ------------------------------------------

在我的CentOS-6中,/etc/yum.repos.d/目录下本身已经有3个已经建好的repo库了,是Base、Media、Debug。

我自己新建一个software.repo,使用CentOS-6.0-x86_64-bin-DVD1.iso这个镜像,这个镜像中包含repodata文件。

但不管我怎么调整设置,用yum repolist命令都搜不到iso中包含的软件包,并且将所有的.repo中的enabled值都设置为1,但使用yum repolist会提示错误:

Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=centosplus error was 14:

PYCURL ERROR 6 - "Couldn't resolve host 'mirrorlist.centos.org'"

Error: Cannot retrieve repository metadata (repomd.xml) for repository: centosplus. 

Please verify its path and try again

解决方法:要使用自己新建的yum本地源,需要将系统本身提供的.repo库暂时设置为禁用(enabled=0),这样的情况下,使用yum repolist就可以正确的搜索iso提供的本地软件包库了。

附:建立本地yum源的步骤:

1、将带有软件包和相应repodata索引的iso镜像挂载在某目录下(我是放在/mnt下)

2、在/etc/yum.repos.d/下建立自己的配置文件(例如software.repo),必须用.repo结尾,内容为:

[software]                     //software是配置名 
name=software baseurl=file:///mnt/cdrom/    //因为是本地源,所以是file://,指向软件库和repodata的父目录 
enabled=1                      //激活这个配置 
gpgcheck=0                     //不进行gpg检查

3、将yum.repos.d/目录下得其他配置文件的enabled键值设置为0,否则按顺序执行时会干扰自己建立的配置文件。


你可能感兴趣的:(redhat6.5,配置使用centos的yum源)