自建YUM仓库

YUM主要用于自动安装、升级rpm软件包,它能自动查找并解决rpm包之间的依赖关系。

要成功的使用YUM工具安装更新软件或系统,就需要有一个包含各种rpm软件包的repository(软件仓库),这个软件仓库我们习惯称为yum源。

网络上有大量的yum源,但由于受到网络环境的限制,导致软件安装耗时过长甚至失败。特别是当有大量服务器大量软件包需要安装时,缓慢的进度条令人难以忍受。

因此我们在优化系统时,都会更换国内的源。

相比较而言,本地YUM源服务器最大优点是局域网的快速网络连接和稳定性。有了局域网中的YUM源服务器,即便在Internet连接中断的情况下,也不会影响其他YUM客户端的软件安装和升级。

1. 搭建yum仓库

创建yum仓库目录:
mkdir -p /application/yum/centos7.3/x86_64
cd /application/yum/centos7.3/x86_64

上传rpm包到此目录,此目录下面还可以包括文件夹:
[root@yum x86_64]# ll
总用量 428
-rw-r--r-- 1 root root  83984 7月   4 2014 deltarpm-3.6-3.el7.x86_64.rpm
-rw-r--r-- 1 root root 252528 6月  24 2016 libxml2-python-2.9.1-6.el7_2.3.x86_64.rpm
-rw-r--r-- 1 root root  32084 7月   4 2014 python-deltarpm-3.6-3.el7.x86_64.rpm
-rw-r--r-- 1 root root  59968 11月 21 2016 traceroute-2.0.22-2.el7.x86_64.rpm

安装createrepo软件:
yum -y install createrepo 

初始化repodata索引文件:
createrepo -pdo /application/yum/centos7.3/x86_64/ /application/yum/centos7.3/x86_64/

提供yum服务:
可以用Apache或nginx提供web服务,但用Python的http模块更简单,适用于内网环境
cd /application/yum/centos7.3/x86_64/
python -m SimpleHTTPServer 80 &>/dev/null &

添加新的rpm包:
只下载软件不安装
yumdownloader pcre-devel openssl-devel #yumdownloader 需要安装yum-utils软件
每加入一个rpm包就要更新一次:
createrepo --update /application/yum/centos7.3/x86_64/ 

通过浏览器输入本机IP查看:

2. yum安装软件时不删除安装包

/etc/yum.conf配置文件:
sed -i s'/keepcache=0/keepcache=1/'g /etc/yum.conf 

安装包存储目录:
/var/cache/yum/x86_64/7/base/packages/

3. 客户端配置

把之前的epel移除:
cd /etc/yum.repos.d/
mkdir yum_bak
mv * yum_bak

指定使用kyeyum库:
vim kyeyum.repo 
[kyeyum] # 指定使用kyeyum库
name=Server 
baseurl=http://192.168.182.137 #yum仓库IP
enable=1 # 启用yum
gpgcheck=0 #是否检查gpg


yum --enablerepo=kyeyum --disablerepo=base,extras,updates,epel list 
yum list #查看yum仓库的包
[root@ntopng yum.repos.d]# yum list | less
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
已安装的软件包
GeoIP.x86_64                        1.5.0-11.el7                       @anaconda
NetworkManager.x86_64               1:1.8.0-9.el7                      @anaconda
NetworkManager-libnm.x86_64         1:1.8.0-9.el7                      @anaconda
NetworkManager-team.x86_64          1:1.8.0-9.el7                      @anaconda
可安装的软件包
deltarpm.x86_64                     3.6-3.el7                          kyeyum   
libxml2-python.x86_64               2.9.1-6.el7_2.3                    kyeyum   
openssl-devel.i686                  1:1.0.2k-8.el7                     kyeyum   
pcre-devel.i686                     8.32-17.el7                        kyeyum   
python-deltarpm.x86_64              3.6-3.el7                          kyeyum   
traceroute.x86_64                   3:2.0.22-2.el7                     kyeyum   

 

posted @ 2018-01-09 13:15  luchuangao  阅读(643)  评论(0编辑  收藏  举报