如何根据指定软件版本制作属于自己的puppet yum源

如何根据版本制作属于自己的puppet yum源

 童鞋们在使用puppetlabs yum源安装puppet的时候,会被选则最新版的puppet版本进行安装,而在我们正在的生产环境的时候,并不需要最新版本,而是我们制定的一个版本,然后不同的版本依赖的包也不一样,这样种种的问题应该如何搞定呢,又应该如何制定自己的yum源呢。

另一个地址 www.kisspuppet.com


以RHEL5.7为例

1、先将对应的光盘创建为本地源

1
2
3
童鞋们在使用puppetlabs yum源安装puppet的时候,会被选则最新版的puppet版本进行安装,而在我们正在的生产环境的时候,并不需要最新版本,而是我们制定的一个版本,然后不同的版本依赖的包也不一样,这样种种的问题应该如何搞定呢,又应该如何制定自己的yum源呢。
以RHEL5. 7 为例
1 、先将对应的光盘创建为本地源

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

1
2
3
4
[root@agent2 yum.repos.d]# yum install createrepo yum-priorities
[root@agent2 yum.repos.d]# rpm -qa | egrep   "createrepo|yum-priorities"
yum-priorities- 1.1 . 16 - 16 .el5
createrepo- 0.4 . 11 - 3 .el5

3、去puppetlabs官网yum.puppetlabs.com下载对应的puppet安装包到本地

1
2
3
4
5
6
7
8
[root@agent2 puppet]# wget http: //yum.puppetlabs.com/el/57/products/x86_64/puppet-2.7.25-1.el5.noarch.rpm
[root@agent2 puppet]# wget http: //yum.puppetlabs.com/el/57/products/x86_64/puppet-server-2.7.25-1.el5.noarch.rpm
[root@agent2 puppet]# wget http: //yum.puppetlabs.com/el/57/products/x86_64/facter-1.7.4-1.el5.x86_64.rpm
[root@agent2 puppet]# ll
total  1272
-rw-r--r--  1  root root    88979  Dec  18   2013  facter- 1.7 . 4 - 1 .el5.x86_64.rpm
-rw-r--r--  1  root root  1175323  Jan   7   2014  puppet- 2.7 . 25 - 1 .el5.noarch.rpm
-rw-r--r--  1  root root    25374  Jan   7   2014  puppet-server- 2.7 . 25 - 1 .el5.noarch.rpm

备注:rhel6上没有rubygems rpm包,需要在以下网址去下载http://rubyforge.org/projects/rubygems/

4、本地制作puppet源


1
2
3
4
5
6
7
8
9
10
11
[root@agent2 puppet]# createrepo .
3 / 3  - puppet- 2.7 . 25 - 1 .el5.noarch.rpm                                      
Saving Primary metadata
Saving file lists metadata
Saving other metadata
[root@agent2 puppet]# ll
total  1276
-rw-r--r--  1  root root    88979  Dec  18   2013  facter- 1.7 . 4 - 1 .el5.x86_64.rpm
-rw-r--r--  1  root root  1175323  Jan   7   2014  puppet- 2.7 . 25 - 1 .el5.noarch.rpm
-rw-r--r--  1  root root    25374  Jan   7   2014  puppet-server- 2.7 . 25 - 1 .el5.noarch.rpm
drwxr-xr-x  2  root root     4096  Oct   2  10 : 43  repodata

5、编写puppet的repo文件

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

6、安装官方puppetlabs源

1
2
3
4
5
6
7
8
[root@agent2 ~]# wget yum.puppetlabs.com/el/ 57 /products/x86_64/puppetlabs-release- 5 - 7 .noarch.rpm
[root@agent2 ~]# rpm -vih puppetlabs-release- 5 - 7 .noarch.rpm
[root@agent2 ~]# ll /etc/yum.repos.d/
total  16
-rw-r--r--  1  root root    98  Oct   2  10 : 45  base.repo
-rw-r--r--  1  root root  1250  Apr  13  06 : 41  puppetlabs.repo #由官方源安装而成
-rw-r--r--  1  root root    90  Oct   2  10 : 44  puppet.repo
-rw-r--r--  1  root root    67  Oct   2  10 : 37  redhat.repo

7、修改puppetlabs源优先级

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
[root@agent2 ~]# cat /etc/yum.repos.d/puppetlabs.repo
[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: ///etc/pki/rpm-gpg/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: ///etc/pki/rpm-gpg/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: ///etc/pki/rpm-gpg/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: ///etc/pki/rpm-gpg/RPM-GPG-KEY-puppetlabs
enabled= 0
gpgcheck= 1

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[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
# Note: yum-RHN-plugin doesn't honor  this .
metadata_expire=1h
# Default.
# installonly_limit =  3
# PUT YOUR REPOS HERE OR IN separate files named file.repo
in  /etc/yum.repos.d

9、安装puppet软件

yum会按照制定的优先级去搜索,由于自定义puppet源比官方源优先级高,所以会优先选择自定义的puppet源中的安装包版本

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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
[root@agent2 ~]# yum clean all
Loaded plugins: priorities, product-id, security, subscription-manager
Updating Red Hat repositories.
Cleaning up Everything
[root@agent2 ~]# yum install puppet
Loaded plugins: priorities, product-id, security, subscription-manager
Updating Red Hat repositories.
puppet                                                                                            |   951  B      00 : 00
puppet/primary                                                                                    |  1.7  kB      00 : 00
puppet                                                                                                                3 / 3
puppetlabs-deps                                                                                   |  1.9  kB      00 : 00
puppetlabs-deps/primary_db                                                                        |   43  kB      00 : 00
puppetlabs-products                                                                               |  1.9  kB      00 : 00
puppetlabs-products/primary_db                                                                    |   95  kB      00 : 03
rhel-base                                                                                         |  1.5  kB      00 : 00
rhel-base/primary                                                                                 |  913  kB      00 : 00
rhel-base                                                                                                       3261 / 3261
157  packages excluded due to repository priority protections
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package puppet.noarch  0 : 2.7 . 25 - 1 .el5  set  to be updated
--> Processing Dependency: facter <  1 : 2.0  for  package : puppet
--> Processing Dependency: ruby(abi) >=  1.8  for  package : puppet
--> Processing Dependency: facter >=  1.5  for  package : puppet
--> Processing Dependency: ruby >=  1.8 . 5  for  package : puppet
--> Processing Dependency: ruby-shadow  for  package : puppet
--> Processing Dependency: /usr/bin/ruby  for  package : puppet
--> Processing Dependency: ruby-augeas  for  package : puppet
--> Processing Dependency: libselinux-ruby  for  package : puppet
--> Running transaction check
---> Package facter.x86_64  1 : 1.7 . 4 - 1 .el5  set  to be updated
---> Package libselinux-ruby.x86_64  0 : 1.33 . 4 - 5.7 .el5  set  to be updated
---> Package ruby.x86_64  0 : 1.8 . 5 - 19 .el5_6. 1  set  to be updated
---> Package ruby-augeas.x86_64  0 : 0.4 . 1 - 2 .el5  set  to be updated
--> Processing Dependency: augeas-libs >=  0.8 . 0  for  package : ruby-augeas
--> Processing Dependency: libaugeas.so. 0 (AUGEAS_0. 8.0 )(64bit)  for  package : ruby-augeas
--> Processing Dependency: libaugeas.so. 0 (AUGEAS_0. 11.0 )(64bit)  for  package : ruby-augeas
--> Processing Dependency: libaugeas.so. 0 (AUGEAS_0. 10.0 )(64bit)  for  package : ruby-augeas
--> Processing Dependency: libaugeas.so. 0 (AUGEAS_0. 1.0 )(64bit)  for  package : ruby-augeas
--> Processing Dependency: libaugeas.so. 0 (AUGEAS_0. 12.0 )(64bit)  for  package : ruby-augeas
--> Processing Dependency: libaugeas.so. 0 ()(64bit)  for  package : ruby-augeas
---> Package ruby-libs.x86_64  0 : 1.8 . 5 - 19 .el5_6. 1  set  to be updated
---> Package ruby-shadow.x86_64  0 : 1.4 . 1 - 8 .el5  set  to be updated
--> Running transaction check
---> Package augeas-libs.x86_64  0 : 0.10 . 0 - 4 .el5  set  to be updated
--> Finished Dependency Resolution
Dependencies Resolved
=========================================================================================================================
  Package                       Arch                 Version                          Repository                     Size
=========================================================================================================================
Installing:
  puppet                        noarch                2.7 . 25 - 1 .el5                     puppet                         1.1  M
Installing  for  dependencies:
  augeas-libs                   x86_64                0.10 . 0 - 4 .el5                     puppetlabs-deps                376  k
  facter                        x86_64                1 : 1.7 . 4 - 1 .el5                    puppet                          87  k
  libselinux-ruby               x86_64                1.33 . 4 - 5.7 .el5                   rhel-base                       61  k
  ruby                          x86_64                1.8 . 5 - 19 .el5_6. 1                  rhel-base                      276  k
  ruby-augeas                   x86_64                0.4 . 1 - 2 .el5                      puppetlabs-deps                 22  k
  ruby-libs                     x86_64                1.8 . 5 - 19 .el5_6. 1                  rhel-base                      1.6  M
  ruby-shadow                   x86_64                1.4 . 1 - 8 .el5                      puppetlabs-deps                 10  k
Transaction Summary
=========================================================================================================================
Install        8  Package(s)
Upgrade        0  Package(s)
Total download size:  3.6  M
Is  this  ok [y/N]: y
Downloading Packages:
( 1 / 8 ): ruby-shadow- 1.4 . 1 - 8 .el5.x86_64.rpm                                                         |   10  kB      00 : 00
( 2 / 8 ): ruby-augeas- 0.4 . 1 - 2 .el5.x86_64.rpm                                                         |   22  kB      00 : 00
( 4 / 8 ): augeas-libs- 0.10 . 0 - 4 .el5.x86_64.rpm                                                        |  376  kB      00 : 03
-------------------------------------------------------------------------------------------------------------------------
Total                                                                                     823  kB/s |  3.6  MB      00 : 04
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA1 signature: NOKEY, key ID 4bd6ec30
puppetlabs-deps/gpgkey                                                                            |  1.7  kB      00 : 00
Importing GPG key  0x4BD6EC30  "Puppet Labs Release Key (Puppet Labs Release Key) <info@puppetlabs.com>"  from /etc/pki/rpm-gpg/RPM-GPG-KEY-puppetlabs
Is  this  ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
   Installing     : ruby-libs                                                                                          1 / 8
   Installing     : ruby                                                                                               2 / 8
   Installing     : ruby-shadow                                                                                        3 / 8
   Installing     : augeas-libs                                                                                        4 / 8
   Installing     : ruby-augeas                                                                                        5 / 8
   Installing     : libselinux-ruby                                                                                    6 / 8
   Installing     : facter                                                                                             7 / 8
   Installing     : puppet                                                                                             8 / 8
duration:  668 (ms)
Installed products updated.
Installed:
   puppet.noarch  0 : 2.7 . 25 - 1 .el5                                                                                      
Dependency Installed:
   augeas-libs.x86_64  0 : 0.10 . 0 - 4 .el5     facter.x86_64  1 : 1.7 . 4 - 1 .el5          libselinux-ruby.x86_64  0 : 1.33 . 4 - 5.7 .el5
   ruby.x86_64  0 : 1.8 . 5 - 19 .el5_6. 1         ruby-augeas.x86_64  0 : 0.4 . 1 - 2 .el5     ruby-libs.x86_64  0 : 1.8 . 5 - 19 .el5_6. 1   
   ruby-shadow.x86_64  0 : 1.4 . 1 - 8 .el5
Complete!

10、复制yum缓存下来的安装包至之前创建的puppet本地源,然后更新repo即可

1
2
3
4
5
6
7
8
9
10
11
[root@agent2 ~]# tree / var /cache/yum/puppetlabs-deps/packages/
/ var /cache/yum/puppetlabs-deps/packages/
|-- augeas-libs- 0.10 . 0 - 4 .el5.x86_64.rpm
|-- ruby-augeas- 0.4 . 1 - 2 .el5.x86_64.rpm
`-- ruby-shadow- 1.4 . 1 - 8 .el5.x86_64.rpm
0  directories,  3  files
[root@agent2 ~]# createrepo --update /puppet/
6 / 6  - packages/ruby-augeas- 0.4 . 1 - 2 .el5.x86_64.rpm                          
Saving Primary metadata
Saving file lists metadata
Saving other metadata


通过以上操作基本上可以搞定


本文转自凌激冰51CTO博客,原文链接:http://blog.51cto.com/dreamfire/1354932,如需转载请自行联系原作者

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值