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

自建YUM仓库的更多相关文章

  1. 【转】linux之自建yum仓库

    原链接:http://www.live-in.org/archives/1410.html 平时使用yum方式安装更新软件,可以自建一个yum源,同步官方更新源,这样如果本地有机器要升级的话就可以直接 ...

  2. 自建yum仓库yum源

    目的:搭建自己的yum源主要是解决大批量服务器下载更新人互联网带宽占用问题及速度问题以及不能访问的问题. 服务端:  步骤如下: 一.创建一个目录,就是我们yum软件存放的目录 [root@vicwe ...

  3. 自建yum仓库,该仓库为默认仓库

    YUM REPO: http://content.example.com/rhel7.0/x86_64/dvd 创建自建yum REPO文件: vim /etc/yum.repos.d/redhat. ...

  4. 自建yum仓库,分别为网络源和本地源

    配置本地源 建立本地源目录 [root@qingcheng-db lgp]#mkdir /mnt/cdrom [root@qingcheng-db lgp]#mkdir /yum 挂载Centos光盘 ...

  5. 在centos6.5下yum仓库的创建

    第一步:打开虚拟机,装入光盘镜像,选择为已连接 第二步: df -h mount umount /dev/sr0 mkdir /centos mount /dev/sr0 /centos mkdir ...

  6. 自动化部署必备技能—部署yum仓库、定制rpm包

    部署yum仓库.定制rpm包 目录 第1章 扩展 - yum缓存 1.1 yum缓存使用步骤... 1 1.1.1 导言... 1 1.1.2 修改配置文件... 1 1.1.3 使用缓存... 1 ...

  7. CentOS7搭建本地YUM仓库,并定期同步阿里云源

    CentOS7同步阿里云镜像rpm包并自建本地yum仓库 系统环境 # cat /etc/centos-release CentOS Linux release 7.6.1810 (Core) # u ...

  8. 自动化部署必备技能—搭建YUM仓库

    导言: YUM主要用于自动安装.升级rpm软件包,它能自动查找并解决rpm包之间的依赖关系.要成功的使用YUM工具安装更新软件或系统,就需要有一个包含各种rpm软件包的repository(软件仓库) ...

  9. (转)搭建企业内部yum仓库(centos6+centos7+epel源)

    搭建企业内部yum仓库(centos6+centos7+epel源) 原文:https://www.cnblogs.com/nulige/p/6081192.html https://www.linu ...

随机推荐

  1. 【转】python3+Django+MySQL+pymysql

    使用python3和Django搭建自己的服务器的时候使用的是sqlite数据库,一切顺利. 可是等到布置生产环境的时候要换成MySQL,根据Django官网的文档也设置好了setting.DATAB ...

  2. js 内置对象常用方法

    1 内容概述 js包含一些内置对象,如Array,Function,String等,这些是基本的,常用的js类,所以了解它们十分重要:把他们的方法,用例子和文字简要的记录下来,方便今后参看. 2 Ar ...

  3. FreeRTOS 定时器组

    以下转载自安富莱电子: http://forum.armfly.com/forum.php 本章节为大家讲解 FreeRTOS 支持的定时器组,或者叫软件定时器,又或者叫用户定时器均可.软件定时器的功 ...

  4. 跟着百度学PHP[12]-文件处理 文件 目录

    00x1 文件的属性 文件属性 <?php //-------------------------定义大小转换函数--------------- function changesize_dw($ ...

  5. nodejs具体解释

    文件夹 javascript与node.js     javascript与你     因为javascript真正意义上有两种,甚至能够说是三种形态(从最早的作为DHTML进行增强的小工具,到像jQ ...

  6. Can't zip RDDs with unequal numbers of partitions

    java.lang.IllegalArgumentException: Can't zip RDDs with unequal numbers of partitions //如果两个RDD分区数不同 ...

  7. java线程池的应用浅析

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java ...

  8. UCOS2_STM32移植详细过程(汇总)

    Ⅰ.概述 笔者发现一个问题,很多初学者,甚至很多工作一两年的人,他们有一种依赖的思想,就是希望从别处获取的软件代码不做任何修改,直接可以运行或者使用.笔者想说,实践才是检验真理的关键,实践才是掌握知识 ...

  9. mysql_windows解压包安装

    WIN下安装64位的解压版mysql-5.6.24-winx64 参考如下安装步骤: 1.将解压缩后的文件放到自己想要的地方 并配置环境变量. 示例中存放的目录为:D:\Program Files\m ...

  10. 错题0913-java

    子类A继承父类B, A a = new A(); 则父类B构造函数.父类B静态代码块.父类B非静态代码块.子类A构造函数.子类A静态代码块.子类A非静态代码块 执行的先后顺序是? A:父类B静态代码块 ...