linux安装rpm包,经常需要安装依赖包,若是手动来安装,安装到头晕了可能都没有安装成功。


需求:没有互联网环境的机器需要安装puppet工具使用或者学习。

最简单方法就是在一台可访问外网的机器yum 安装一次,把rpm包都下载下来,制作成本地yum。


制作本地yum步骤(安装puppet为例):

1、安装createrepo工具

2、设置/etc/yum.conf,修改keepcache=1,表示保留yum安装时下载的软件

3、使用yum安装puppet-server

4、复制下载下来的rpm包到一个目录

5、执行createrepo及添加repo文件



1、安装createrepo工具

yum install createrepo yum-priorities


2、设置/etc/yum.conf,修改keepcache=1,表示保留yum安装时下载的软件

修改/etc/yum.conf文件:
[main]
cachedir=/var/cache/yum #下载下来的软件在这个目录下面
keepcache=1  #把0改成1,表示保留yum安装时下载的软件


3、使用yum安装puppet-server

设置puppet提供的官方源
wget http://yum.puppetlabs.com/el/6/products/x86_64/puppetlabs-release-6-7.noarch.rpm
rpm -ivh puppetlabs-release-6-7.noarch.rpm


安装puppet服务
yum –y install puppet-server

4、复制下载下来的rpm包到一个目录



进入/var/cache/yum,复制所有rpm包到/huang/puppet目录下面,然后把这个目录下所有rpm包复制到另一台不可以访问互联网的机器,在这台机测试
find ./ -name "*.rpm" -exec cp {} /huang/puppet \;
下面的rpm包就是这台栅安装puppet所需要的
[root@puppet puppet]# ll
total 6252
-rw-r--r-- 1 root root  315908 Apr 12 23:00 augeas-libs-1.0.0-5.el6_5.1.x86_64.rpm
-rw-r--r-- 1 root root  132636 Apr 12 23:00 compat-readline5-5.2-17.1.el6.x86_64.rpm
-rw-r--r-- 1 root root   72520 Apr 12 23:00 deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm
-rw-r--r-- 1 root root   85720 Apr 12 23:00 facter-2.0.1-1.el6.x86_64.rpm
-rw-r--r-- 1 root root   23636 Apr 12 23:00 hiera-1.3.2-1.el6.noarch.rpm
-rw-r--r-- 1 root root  101336 Apr 12 23:00 libselinux-ruby-2.0.94-5.3.el6_4.1.x86_64.rpm
-rw-r--r-- 1 root root 1182216 Apr 12 23:00 puppet-3.4.3-1.el6.noarch.rpm
-rw-r--r-- 1 root root   23900 Apr 12 23:00 puppet-server-3.4.3-1.el6.noarch.rpm
-rw-r--r-- 1 root root   27748 Apr 12 23:00 python-deltarpm-3.5-0.5.20090913git.el6.x86_64.rpm
-rw-r--r-- 1 root root  547256 Apr 12 23:00 ruby-1.8.7.352-13.el6.x86_64.rpm
-rw-r--r-- 1 root root   21428 Apr 12 23:00 ruby-augeas-0.4.1-3.el6.x86_64.rpm
-rw-r--r-- 1 root root  780968 Apr 12 23:00 rubygem-json-1.5.5-1.el6.x86_64.rpm
-rw-r--r-- 1 root root  211764 Apr 12 23:00 rubygems-1.3.7-5.el6.noarch.rpm
-rw-r--r-- 1 root root  321036 Apr 12 23:00 ruby-irb-1.8.7.352-13.el6.x86_64.rpm
-rw-r--r-- 1 root root 1720216 Apr 12 23:00 ruby-libs-1.8.7.352-13.el6.x86_64.rpm
-rw-r--r-- 1 root root  385880 Apr 12 23:00 ruby-rdoc-1.8.7.352-13.el6.x86_64.rpm
-rw-r--r-- 1 root root  243056 Apr 12 23:00 ruby-rgen-0.6.5-2.el6.noarch.rpm
-rw-r--r-- 1 root root   13128 Apr 12 23:00 ruby-shadow-2.2.0-2.el6.x86_64.rpm


5、执行createrepo及添加repo文件


进入/huang/puppet目录执行:createrepo . 
[root@centreon puppet]# createrepo .
Spawning worker 0 with 21 pkgs
Workers Finished
Gathering worker results
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
表示把本目录以及子目录下所有rpm 包生成repodata,执行后会在puppet目录下生成一个repodata文件夹



把CentOS-Base.repo改名,并添加一个.repo文件,内容如下:
Vi /etc/yum.repos.d/CentOS-puppet.repo
[CentOS-puppet]
name=puppet
baseurl=file:///huang/puppet/
enabled=1
gpgcheck=0


这个是本地yum,就可以安装了。
Yum install puppet-server



若是要做成局域网,就需要安装ftp等工具。安装其它软件同理,只要取得所需要的rpm包就可以做成本地yum。


参考:

http://kisspuppet.com/2014/01/26/puppet_create_repo/