由于RHEL的yum在线更新是收费的,如果没有注册的话是不能使用的,即不能在线安装软件。在这种情况下,如果我们使用的机器安装的是RHEL系统要是每次安装软件先挂载本地光盘会很繁琐,而且有些软件也是老版本的,这种情况下我们可以借助CentOS的YUM源来满足我们的需求。
一、删除RHEL原有的YUM
1
2
3
4
<code>[root@justin ~]</code><code># rpm -qa|grep yum|xargs rpm -e --nodeps</code>
<code>warning: </code><code>/etc/yum</code><code>.conf saved as </code><code>/etc/yum</code><code>.conf.rpmsave</code>
<code>[root@justin src]</code><code># yum install php</code>
<code>-</code><code>bash</code><code>: </code><code>/usr/bin/yum</code><code>: 没有那个文件或目录</code>
二、下载CentOS的yum安装包
python-iniparse:http://mirror.centos.org/centos-6/6.4/os/i386/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpm
yum-metadata-parser:http://mirror.centos.org/centos-6/6.4/os/i386/Packages/yum-metadata-parser-1.1.2-16.el6.i686.rpm
yum:http://mirror.centos.org/centos-6/6.4/os/i386/Packages/yum-3.2.29-40.el6.centos.noarch.rpm
yum-plugin-fastestmirror:http://mirror.centos.org/centos-6/6.4/os/i386/Packages/yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm
RPM-GPG-KEY:http://mirror.centos.org/centos-6/6.4/os/i386/RPM-GPG-KEY-CentOS-6
或者在此下载:http://url.cn/TBZzqQ
5
6
7
8
9
10
<code>[root@justin src]</code><code># wget http://mirror.centos.org/centos-6/6.4/os/i386/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpm</code>
<code>[root@justin src]</code><code># wget http://mirror.centos.org/centos-6/6.4/os/i386/Packages/yum-metadata-parser-1.1.2-16.el6.i686.rpm</code>
<code>[root@justin src]</code><code># wget http://mirror.centos.org/centos-6/6.4/os/i386/Packages/yum-3.2.29-40.el6.centos.noarch.rpm</code>
<code>[root@justin src]</code><code># wget http://mirror.centos.org/centos-6/6.4/os/i386/Packages/yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm</code>
<code>[root@justin src]</code><code># wget http://mirror.centos.org/centos-6/6.4/os/i386/RPM-GPG-KEY-CentOS-6</code>
<code>[root@justin src]</code><code># ls</code>
<code>python-iniparse-0.3.1-2.1.el6.noarch.rpm yum-metadata-parser-1.1.2-16.el6.i686.rpm</code>
<code>RPM-GPG-KEY-CentOS-6 yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm</code>
<code>yum-3.2.29-40.el6.centos.noarch.rpm</code>
<code>[root@justin src]</code><code>#</code>
三、安装CentOS的YUM安装包
yum和yum-plugin-fastestmirror需要一起安装,这两个包存在依赖关系,分开安装会失败,安装之前先把RPM-GPG-KEY导入系统,否则会出现以下的警告信息
11
12
13
<code>[root@justin src]</code><code># rpm -ivh python-iniparse-0.3.1-2.1.el6.noarch.rpm</code>
<code>warning: python-iniparse-0.3.1-2.1.el6.noarch.rpm: Header V3 RSA</code><code>/SHA256</code> <code>Signature, key ID c105b9de: NOKEY</code>
<code>Preparing... </code><code>########################################### [100%]</code>
<code> </code><code>package python-iniparse-0.3.1-2.1.el6.noarch is already installed</code>
<code>[root@justin src]</code><code># rpm --import RPM-GPG-KEY-CentOS-6</code>
<code>[root@justin src]</code><code># rpm -ivh yum-metadata-parser-1.1.2-16.el6.i686.rpm</code>
<code> </code><code>1:yum-metadata-parser </code><code>########################################### [100%]</code>
<code>[root@justin src]</code><code># rpm -ivh yum-3.2.29-40.el6.centos.noarch.rpm yum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm</code>
<code> </code><code>1:yum-plugin-fastestmirro</code><code>########################################### [ 50%]</code>
<code> </code><code>2:yum </code><code>########################################### [100%]</code>
至此我们就可以在线使用yum了,
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<code>[root@justin yum.repos.d]</code><code># yum install php</code>
<code>Loaded plugins: fastestmirror, product-</code><code>id</code><code>, subscription-manager</code>
<code>Updating certificate-based repositories.</code>
<code>Unable to </code><code>read</code> <code>consumer identity</code>
<code>Determining fastest mirrors</code>
<code>rhel-</code><code>local</code> <code>| 4.0 kB 00:00 ...</code>
<code>rhel-</code><code>local</code><code>/primary_db</code> <code>| 2.5 MB 00:00 ...</code>
<code>Setting up Install Process</code>
<code>Resolving Dependencies</code>
<code>--> Running transaction check</code>
<code>---> Package php.i686 0:5.3.3-3.el6_2.8 will be installed</code>
<code>--> Processing Dependency: php-common = 5.3.3-3.el6_2.8 </code><code>for</code> <code>package: php-5.3.3-3.el6_2.8.i686</code>
<code>--> Processing Dependency: php-cli = 5.3.3-3.el6_2.8 </code><code>for</code> <code>package: php-5.3.3-3.el6_2.8.i686</code>
<code>---> Package php-cli.i686 0:5.3.3-3.el6_2.8 will be installed</code>
<code>---> Package php-common.i686 0:5.3.3-3.el6_2.8 will be installed</code>
<code>--> Finished Dependency Resolution</code>
<code>Dependencies Resolved</code>
<code>===============================================================================================================================</code>
<code> </code><code>Package Arch Version Repository Size</code>
<code>Installing:</code>
<code> </code><code>php i686 5.3.3-3.el6_2.8 rhel-</code><code>local</code> <code>1.1 M</code>
<code>Installing </code><code>for</code> <code>dependencies:</code>
<code> </code><code>php-cli i686 5.3.3-3.el6_2.8 rhel-</code><code>local</code> <code>2.2 M</code>
<code> </code><code>php-common i686 5.3.3-3.el6_2.8 rhel-</code><code>local</code> <code>523 k</code>
<code>Transaction Summary</code>
<code>Install 3 Package(s)</code>
<code>Total download size: 3.8 M</code>
<code>Installed size: 12 M</code>
<code>Is this ok [y</code><code>/N</code><code>]:</code>
四、修改yum源
为了使用在线使用Yum安装软件更快,我们可以使用国内的网易Yum源或者其他国内yum源
下载网易Yum源
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<code>[root@justin yum.repos.d]</code><code># pwd</code>
<code>/etc/yum</code><code>.repos.d</code>
<code>[root@justin yum.repos.d]</code><code># wget http://mirrors.163.com/.help/CentOS6-Base-163.repo</code>
<code>[root@justin yum.repos.d]</code><code># ls</code>
<code>CentOS6-Base-163.repo CentOS-</code><code>test</code><code>.repo packagekit-media.repo rhel-</code><code>local</code><code>.repo rhel-</code><code>local</code><code>.repobak rhel-</code><code>source</code><code>.repo</code>
<code>[root@justin yum.repos.d]</code><code># cat CentOS6-Base-163.repo</code>
<code># CentOS-Base.repo</code>
<code>#</code>
<code># The mirror system uses the connecting IP address of the client and the</code>
<code># update status of each mirror to pick mirrors that are updated to and</code>
<code># geographically close to the client. You should use this for CentOS updates</code>
<code># unless you are manually picking other mirrors.</code>
<code># If the mirrorlist= does not work for you, as a fall back you can try the</code>
<code># remarked out baseurl= line instead.</code>
<code>[base]</code>
<code>name=CentOS-$releasever - Base - 163.com</code>
<code>baseurl=http:</code><code>//mirrors</code><code>.163.com</code><code>/centos/</code><code>$releasever</code><code>/os/</code><code>$basearch/</code>
<code>#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os</code>
<code>gpgcheck=1</code>
<code>gpgkey=http:</code><code>//mirror</code><code>.centos.org</code><code>/centos/RPM-GPG-KEY-CentOS-6</code>
<code>#released updates</code>
<code>[updates]</code>
<code>name=CentOS-$releasever - Updates - 163.com</code>
<code>baseurl=http:</code><code>//mirrors</code><code>.163.com</code><code>/centos/</code><code>$releasever</code><code>/updates/</code><code>$basearch/</code>
<code>#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates</code>
<code>#additional packages that may be useful</code>
<code>[extras]</code>
<code>name=CentOS-$releasever - Extras - 163.com</code>
<code>baseurl=http:</code><code>//mirrors</code><code>.163.com</code><code>/centos/</code><code>$releasever</code><code>/extras/</code><code>$basearch/</code>
<code>#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras</code>
<code>#additional packages that extend functionality of existing packages</code>
<code>[centosplus]</code>
<code>name=CentOS-$releasever - Plus - 163.com</code>
<code>baseurl=http:</code><code>//mirrors</code><code>.163.com</code><code>/centos/</code><code>$releasever</code><code>/centosplus/</code><code>$basearch/</code>
<code>#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus</code>
<code>enabled=0</code>
<code>#contrib - packages by Centos Users</code>
<code>[contrib]</code>
<code>name=CentOS-$releasever - Contrib - 163.com</code>
<code>baseurl=http:</code><code>//mirrors</code><code>.163.com</code><code>/centos/</code><code>$releasever</code><code>/contrib/</code><code>$basearch/</code>
<code>#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib</code>
<code>[root@justin yum.repos.d]</code><code>#</code>
下载好网易yum源后需要修改下整个文件里的$releasever和$basearch;$releasever变量为具体版本号,通过rpm -qi centos-release命令查看;$basearch的取值系统硬件架构(CPU指令集),使用命令arch得到
<a href="https://s3.51cto.com/wyfs02/M01/98/AA/wKioL1k_Z9qwaAYRAABhrUbYSfA641.png" target="_blank"></a>
baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
完整路径便是
baseurl=http://mirror.centos.org/centos/6/os/x86_64/
编辑文件CentOS-Base-163.repo,在末行模式下输入:% s/$releasever/6/g替换整个文件下的$releasever为6,替换成功后会提示15 次替换,共 15 行的字样,最后保存退出
<code>[root@justin yum.repos.d]</code><code># vim CentOS6-Base-163.repo</code>
<code>....</code>
<code>baseurl=http:</code><code>//mirrors</code><code>.163.com</code><code>/centos/6/contrib/</code><code>$basearch/</code>
<code>#mirrorlist=http://mirrorlist.centos.org/?release=6&arch=$basearch&repo=contrib</code>
<code>:% s/$releasever</code><code>/6/g</code>
至此,RHEL使用CentOS的YUM完成
EPEL
EPEL的全称叫 Extra Packages for Enterprise Linux 。EPEL是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。装上了 EPEL之后,就相当于添加了一个第三方源,而且大多数rpm包在官方 repository 中是找不到的,绝大多数rpm包要比官方repository 的rpm包版本要来得新。
不用去换原来yum源,安装后会产生新repo,epel会有很多源地址,如果一个下不到,会去另外一个下,更新时如果下载的包不全,就不会进行安装。这样的话,依赖关系可以保重。
安装epel,centos6选6,5就选5:下载地址:http://dl.fedoraproject.org/pub/epel/
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
导入key:rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
<code>[root@localhost yum.repos.d]</code><code># rpm -ivh epel-release-6-8.noarch.rpm </code>
<code>warning: epel-release-6-8.noarch.rpm: Header V3 RSA</code><code>/SHA256</code> <code>Signature, key ID 0608b895: NOKEY</code>
<code> </code><code>1:epel-release </code><code>########################################### [100%]</code>
<code>[root@localhost yum.repos.d]</code><code># rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6</code>
<code>[root@localhost yum.repos.d]</code><code># yum -y install yum-priorities</code>
本文转自 justin_peng 51CTO博客,原文链接:http://blog.51cto.com/ityunwei2017/1320908,如需转载请自行联系原作者