8.3.3 RedHat使用yum的问题
默认情况下RedHat会因为未注册RHN而无法使用yum,运行yum时将会显示如图8-12所示的信息。如果你的英语不算太差,应该能读懂。
图8-12 RedHat默认无法使用yum
为了解决这个问题,只需要删除原始系统中etcyum.repos.d/目录下的所有repo文件,然后更换成CentOS的源即可,步骤如下:
- #
- 删除系统默认的repo
- 文件
- [root@localhost ~]# cd etcyum.repos.d
- [root@localhost yum.repos.d]# rm rhel-debuginfo.repo
- #
- 创建新文件CentOS.repo
- ,内容如下(读者只需要照抄即可)
- [base]
- name=CentOS-5 - Base
- baseurl=http://centos.ustc.edu.cn/centos/5/os/$basearch/
- gpgcheck=1
- gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
- #released updates
- [update]
- name=CentOS-5 - Updates
- baseurl=http://centos.ustc.edu.cn/centos/5/updates/$basearch/
- gpgcheck=1
- gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
- #packages used/produced in the build but not released
- [addons]
- name=CentOS-5 - Addons
- baseurl=http://centos.ustc.edu.cn/centos/5/addons/$basearch/
- gpgcheck=1
- gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
- #additional packages that may be useful
- [extras]
- name=CentOS-5 - Extras
- baseurl=http://centos.ustc.edu.cn/centos/5/extras/$basearch/
- gpgcheck=1
- gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
- #additional packages that extend functionality of existing packages
- [centosplus]
- name=CentOS-5 - Plus
- baseurl=http://centos.ustc.edu.cn/centos/5/centosplus/$basearch/
- gpgcheck=1
- enabled=0
- gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
- #contrib - packages by Centos Users
- [contrib]
- name=CentOS-5 - Contrib
- baseurl=http://centos.ustc.edu.cn/centos/5/contrib/$basearch/
- gpgcheck=1
- enabled=0
- gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
设置完成后就可以使用新安装的yum来安装软件了。首先使用yum clean all&&yum makecache刷新缓存,然后输入yum install httpd看一下效果,如图8-13所示。至此我们成功地利用“偷梁换柱”的方法解决了RedHat系统中默认不能使用yum工具的问题。
图8-13 RedHat使用yum安装Apache
有时候通过以上改变软件源的方式也仍然无法使用yum工具,那么此时将会麻烦一点。在这种情况下,改完软件源后还需要将RedHat系统上的yum工具更换成CentOS的版本才可以使用。具体步骤如下所示:
首先需要将目前系统中的yum工具删除掉。由于其依赖关系比较复杂,所以要删除的软件包比较多。笔者使用的是32位的RedHat5.5系统,需要删除的软件一共有如下11个:
- [root@localhost ~]# rpm -e yum-3.2.22-26.el5 \
- yum-metadata-parser-1.1.2-3.el5 \
- yum-updatesd-0.9-2.el5 \
- yum-security-1.1.16-13.el5 \
- yum-rhn-plugin-0.5.4-15.el5 \
- rhn-client-tools-0.4.20-33.el5 \
- rhn-check-0.4.20-33.el5 \
- rhn-setup-0.4.20-33.el5 \
- rhn-setup-gnome \
- pirut \
- rhnsd
删除完成后,直接从公网上安装CentOS的yum工具(rpm命令后可以直接跟RPM包的URL地址,yum会自动完成这些包的下载并安装),安装完成后就可以使用yum了,如下所示:
- [root@localhost ~]# rpm -ivh \
- http://mirrors.163.com/centos/5/os/i386/CentOS/yum-3.2.22-40.el5.centos.noarch.rpm \
- http://mirrors.163.com/centos/5/os/i386/CentOS/yum-fastestmir
- ror-1.1.16-21.el5.centos.noarch.rpm \
- http://mirrors.163.com/centos/5/os/i386/CentOS/yum-metadata
- -parser-1.1.2-4.el5.i386.rpm
或许大家还沉浸在使用yum的神奇体验之中,当这种兴奋劲过去后随之而来的可能会是一个疑问:为什么它会这么神奇?下面两小节不仅能让你知道为什么,还能让你动手做属于自己的yum源。