yum源配置

Redhat Linux通常由于没有注册,导致yum程序无法使用,需要将其替换为centos的yum程序。

准备

下载Yum的安装包,由于体系结构的不同和包的更新,因此目录和文件名的版本号可能需要调整以下。目前是网站提供最新的rpm版本

$ cd /ISO/yum_64_rpm
$ wget http://centos.ustc.edu.cn/centos/5/os/x86_64/CentOS/yum-3.2.22-40.el5.centos.noarch.rpm
$ wget http://centos.ustc.edu.cn/centos/5/os/x86_64/CentOS/yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm
$ wget http://centos.ustc.edu.cn/centos/5/os/x86_64/CentOS/yum-metadata-parser-1.1.2-4.el5.x86_64.rpm

查出当前的yum程序,进行卸载

$ rpm -qa|grep yum

$ rpm -qa|grep yum

yum-metadata-parser-1.1.2-3.el5
yum-updatesd-0.9-2.el5
yum-rhn-plugin-0.5.4-15.el5
yum-3.2.22-26.el5
yum-security-1.1.16-13.el5

卸载原有的yum包 –nodeps忽略包依赖

$ rpm -e yum-3.2.22-26.el5 –nodeps
$ rpm -e yum-updatesd-0.9-2.el5 –nodeps
$ rpm -e yum-security-1.1.16-13.el5 –nodeps
$ rpm -e yum-metadata-parser-1.1.2-3.el5 –nodeps
$ rpm -e yum-rhn-plugin-0.5.4-15.el5 –nodeps

安装下载的rpm包

$ cd /ISO/yum_64_rpm
$ rpm -ivh yum-3.2.22-40.el5.centos.noarch.rpm
$ rpm -ivh yum-fastestmirror-1.1.16-21.el5.centos.noarch.rpm
$ rpm -ivh yum-metadata-parser-1.1.2-4.el5.x86_64.rpm

将本地光盘配置为本地源

$ /etc/yum.repos.d
$ vi base.repo

添加如下内容:

1
2
3
4
5
6
[rhel-base]
name=RHEL5.5 base
baseurl=file:///ISO/RHEL/5.5_64/Server
enabled=1
gpgcheck=0
priority=1

保存即可。

添加Centos的源

$ /etc/yum.repos.d
$ vi rhel-debuginfo.repo

添加如下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[base]
name=Red Hat Enterprise Linux $releasever -Base
baseurl=http://mirrors.sohu.com/centos/5.5/os/$basearch/
gpgcheck=1
[update]
name=Red Hat Enterprise Linux $releasever -Updates
baseurl=http://mirrors.sohu.com/centos/5.5/updates/$basearch/
gpgcheck=1
[extras]
name=Red Hat Enterprise Linux $releasever -Extras
baseurl=http://mirrors.sohu.com/centos/5.5/extras/$basearch/
gpgcheck=1
[addons]
name=Red Hat Enterprise Linux $releasever -Addons
baseurl=http://mirrors.sohu.com/centos/5.5/addons/$basearch/
gpgcheck=1

保存即可。

安装制作yum仓库的软件包和yum-priorities管理包

$ yum install createrepo yum-priorities
$ rpm -qa | egrep “createrepo|yum-priorities”

createrepo-0.4.11-3.el5
yum-priorities-1.1.16-21.el5.centos

下载特定版本的puppet,做成本地源

$ wget http://yum.puppetlabs.com/el/55/products/x86_64/puppet-3.7.3-1.el5.noarch.rpm
$ wget http://yum.puppetlabs.com/el/55/products/x86_64/puppet-server-3.7.3-1.el5.noarch.rpm
$ wget http://yum.puppetlabs.com/el/55/products/x86_64/facter-2.3.0-1.el5.x86_64.rpm
$ wget http://yum.puppetlabs.com/el/55/products/x86_64/mcollective-common-2.7.0-1.el5.noarch.rpm
$ wget http://yum.puppetlabs.com/el/55/products/x86_64/mcollective-client-2.7.0-1.el5.noarch.rpm
$ wget http://yum.puppetlabs.com/el/55/products/x86_64/mcollective-2.7.0-1.el5.noarch.rpm
$ wget http://yum.puppetlabs.com/el/55/products/x86_64/puppet-dashboard-1.2.23-1.el5.noarch.rpm
$ wget http://yum.puppetlabs.com/el/55/products/x86_64/mcollective-filemgr-common-1.0.2-1.el5.noarch.rpm

$  ll

total 7176
-rw-r–r– 1 root root 99651 Oct 31 07:55 facter-2.3.0-1.el5.x86_64.rpm
-rw-r–r– 1 root root 10982 Dec 3 01:45 mcollective-2.7.0-1.el5.noarch.rpm
-rw-r–r– 1 root root 26807 Dec 3 01:45 mcollective-client-2.7.0-1.el5.noarch.rpm
-rw-r–r– 1 root root 492745 Dec 3 01:45 mcollective-common-2.7.0-1.el5.noarch.rpm
-rw-r–r– 1 root root 3938 Jun 24 01:20 mcollective-filemgr-common-1.0.2-1.el5.noarch.rpm
-rw-r–r– 1 root root 1742203 Nov 5 01:43 puppet-3.7.3-1.el5.noarch.rpm
-rw-r–r– 1 root root 4875976 Nov 22 2013 puppet-dashboard-1.2.23-1.el5.noarch.rpm
-rw-r–r– 1 root root 24571 Nov 5 01:43 puppet-server-3.7.3-1.el5.noarch.rpm

$ cd /ISO/puppet

createrepo . #制作本地源

$  createrepo .

8/8 – mcollective-2.7.0-1.el5.noarch.rpm
Saving Primary metadata
Saving file lists metadata
Saving other metadata

$  ll

total 7184
-rw-r–r– 1 root root 99651 Oct 31 07:55 facter-2.3.0-1.el5.x86_64.rpm
-rw-r–r– 1 root root 10982 Dec 3 01:45 mcollective-2.7.0-1.el5.noarch.rpm
-rw-r–r– 1 root root 26807 Dec 3 01:45 mcollective-client-2.7.0-1.el5.noarch.rpm
-rw-r–r– 1 root root 492745 Dec 3 01:45 mcollective-common-2.7.0-1.el5.noarch.rpm
-rw-r–r– 1 root root 3938 Jun 24 01:20 mcollective-filemgr-common-1.0.2-1.el5.noarch.rpm
-rw-r–r– 1 root root 1742203 Nov 5 01:43 puppet-3.7.3-1.el5.noarch.rpm
-rw-r–r– 1 root root 4875976 Nov 22 2013 puppet-dashboard-1.2.23-1.el5.noarch.rpm
-rw-r–r– 1 root root 24571 Nov 5 01:43 puppet-server-3.7.3-1.el5.noarch.rpm
drwxr-xr-x 2 root root 4096 Dec 17 14:37 repodata

编写puppet的repo文件

$  pwd

/etc/yum.repos.d
$ cat puppet.repo

1
2
3
4
5
6
[puppet]
name=puppet for rhel5.7
baseurl=file:///ISO/puppet
enabled=1
gpgcheck=0
priority=2 #设置优先级为本地光盘源之后

安装官方puppetlabs源

$  wget http://yum.puppetlabs.com/el/55/products/x86_64/puppetlabs-release-5-5.noarch.rpm

–2014-12-17 14:42:09– http://yum.puppetlabs.com/el/55/products/x86_64/puppetlabs-release-5-5.noarch.rpm
Resolving yum.puppetlabs.com… 198.58.114.168, 2600:3c00::f03c:91ff:fe69:6bf0
Connecting to yum.puppetlabs.com|198.58.114.168|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 5429 (5.3K) [application/x-redhat-package-manager]
Saving to: `puppetlabs-release-5-5.noarch.rpm’

100%[================================================================================>] 5,429 –.-K/s in 0.001s

2014-12-17 14:42:09 (6.69 MB/s) – `puppetlabs-release-5-5.noarch.rpm’ saved [5429/5429]

###安装rpm包

$  rpm -ivh puppetlabs-release-5-5.noarch.rpm

warning: puppetlabs-release-5-5.noarch.rpm: Header V3 RSA/SHA1 signature: NOKEY, key ID 4bd6ec30
Preparing… ########################################### [100%]
1:puppetlabs-release ########################################### [100%]

这样会在/etc/yum.repos.d下面增加一个puppetlabs.repo文件
$ pwd

/etc/yum.repos.d
$ ll
total 48
-rw-r–r– 1 root root 209 Dec 17 12:57 base.repo
-rw-r–r– 1 root root 943 Dec 17 12:51 CentOS-Base.repo
-rw-r–r– 1 root root 1262 Jul 6 2012 puppetlabs.repo
-rw-r–r– 1 root root 93 Dec 17 14:38 puppet.repo
-rw-r–r– 1 root root 521 Dec 17 12:49 rhel-debuginfo.repo
-rw-r–r– 1 root root 561 Mar 10 2010 rhel-debuginfo.repo.back20141217

###修改puppetlabs源优先级

$  cat puppetlabs.repo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
[puppetlabs-products]
name=Puppet Labs Products El 5 – $basearch
baseurl=http://yum.puppetlabs.com/el/5/products/$basearch
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puppetlabs
enabled=1
gpgcheck=1
priority=3 #设置优先级最低
[puppetlabs-deps]
name=Puppet Labs Dependencies El 5 – $basearch
baseurl=http://yum.puppetlabs.com/el/5/dependencies/$basearch
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-puppetlabs
enabled=1
gpgcheck=1
priority=3 #设置优先级最低
[puppetlabs-devel]
name=Puppet Labs Devel El 5 – $basearch
baseurl=http://yum.puppetlabs.com/el/5/devel/$basearch
gpgkey=file:///yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs
enabled=0
gpgcheck=1
[puppetlabs-products-source]
name=Puppet Labs Products El 5 – $basearch – Source
baseurl=http://yum.puppetlabs.com/el/5/products/SRPMS
gpgkey=file:///yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs
failovermethod=priority
enabled=0
gpgcheck=1
[puppetlabs-deps-source]
name=Puppet Labs Source Dependencies El 5 – $basearch – Source
baseurl=http://yum.puppetlabs.com/el/5/dependencies/SRPMS
gpgkey=file:///yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs
enabled=0
gpgcheck=1
[puppetlabs-devel-source]
name=Puppet Labs Devel El 5 – $basearch – Source
baseurl=http://yum.puppetlabs.com/el/5/devel/SRPMS
gpgkey=file:///yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs
enabled=0
gpgcheck=1

###修改yum保存下载的安装包为本地缓存

$  vi yum.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[main]
cachedir=/var/cache/yum
keepcache=1
debuglevel=2 #设置保存下载的软件缓存
logfile=/var/log/yum.log
distroverpkg=redhat-release
tolerant=1
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
bugtracker_url=http://bugs.centos.org/yum5bug
# Note: yum-RHN-plugin doesn’t honor this.
metadata_expire=1h
installonly_limit = 5
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d