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