这几天在虚拟机上安装了 rhel 6.3 ,准确版本信息是:
[root@Chaos ~]# uname -a
Linux Chaos 2.6.32-279.el6.x86_64 #1 SMP Wed Jun 13 18:24:36 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux
众所周知,如果linux没有在红帽网络上注册,肯定无法下载上面的软件包,替代方案可以使用centos的yum来解决。
1.
卸载默认的Yum:
rpm -aq|grep yum|xargs rpm -e --nodeps
2.
下载安装新的yum包,
注意标黄部分是同时安装的两个包,否则会出现依赖性问题:
2.1) rpm -ivh http://mirrors.163.com/centos/6/os/x86_64/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpm
2.2) rpm -ivh http://tel.mirrors.163.com/centos/6/os/x86_64/Packages/yum-metadata-parser-1.1.2-16.el6.x86_64.rpm
2.3) rpm -ivh http://tel.mirrors.163.com/centos/6/os/x86_64/Packages/yum-3.2.29-40.el6.centos.noarch.rpm http://tel.mirrors.163.com/centos/6/os/x86_64/Packages/yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm
3.
下载yum的配置源:
3.1) cd /etc/yum.repos.d/
3.2) wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
3.3) sed -i "s/\$releasever/6/" CentOS6-Base-163.repo
4.
运行yum makecache生成缓存:
rpm --import http://tel.mirrors.163.com/centos/6/os/x86_64/RPM-GPG-KEY-CentOS-6
按以前的经验,到此基本上就可以用yum搜索安装各软件包了,
但是我发现
rhel6里很多开发包没有在iso里面,明显比以前版本能找到的包少很多!
比如我想安装 Node.js,就找不到相关的包:
[root@Chaos ~]# yum list nodejs
...
...
Error: No matching Packages to list
所幸的是,
Redhat Fedora项目下有一个 EPEL(Extra Packages for Enterprise Linux),EPEL是RHEL 的 Fedora 软件仓库,把它添上,我们就可以获得很多支持RHEL/CentOS的免费软件包。
EPEL(http://fedoraproject.org/wiki/EPEL) 是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。装上了 EPEL,就像在 Fedora 上一样,可以通过 yum install package-name,随意安装软件。
安装配置也很方便:
1. 安装:
rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
2. 导入DAG 的 PGP Key:
rpm --import http://mirrors.sohu.com/fedora-epel/RPM-GPG-KEY-EPEL-6
3. 设置 epel.repo文件中源的优先级:
vim /etc/yum.repos.d/epel.repo
在
[epel] 最后添加一行:
priority=11
好了,现在大功告成了!
最后,实际操作时请注意上面的操作系统版本号及系统指令集位数,如果安装版本相互不能匹配,可能会有问题!