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. [开机启动]Linux开机自启和运行级别

    嵌入式系统中程序自启动方法 在很多嵌入式系统中,由于可用资源较少,常常在系统启动后就直接让应用程序自动启动,以减少用户操作和节省资源.如何让自己的应用程序自动启动呢?    在Linux系统中,配置应 ...

  2. Keil的使用方法(汇总)

    推荐 分享一个大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来! http://www.captainbed.net/strongerhuang 软件的开发 ...

  3. Java范型之T extends Comparable<? super T>

    在观察Java源码的时候,发现了这么一个写法T extends Comparable<? super T>.不禁纳闷为什么要这么写呢?有什么好处吗,extends和super在这里的作用着 ...

  4. resize2fs命令出现这个错误“resize2fs: Operation not permitted While trying to add group #6656” 有数据的会丢数据

    1. resize2fs命令出现这个错误“resize2fs: Operation not permitted While trying to add group #6656”,并且在/var/log ...

  5. 115个Java面试题和答案(上)

    转自:http://www.importnew.com/10980.html 本文我们将要讨论Java面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的Java和通用的面向对象编程的能力.下面的 ...

  6. google cloud之停止任务

    1.点击侧边栏:ML Engine -> Jobs 2.选择对应的任务,点击stop

  7. 正向工程、逆向工程与MDA

    正向工程.逆向工程与MDA 正向工程:从UML图形生成代码: 逆向工程:从代码和成UML图形: //不要依赖于正向或逆向工程,仅是一种辅助手段.画图的目的不是为了生成代码:而写代码的目的也不是为了生成 ...

  8. PHP cURL库函数抓取页面内容

    目录 1 为什么要用cURL? 2 启用cURL 3 基本结构 4 检查错误 5 获取信息 6 基于浏览器的重定向 7 用POST方法发送数据 8 文件上传 9 cURL批处理(multi cURL) ...

  9. odoo 在原有工作流中添加审批流

    odoo 在原有工作流中添加审批流 步骤: 1.加入所需的工作流节点以及相连的线(即所添加的审批流),代码如下: <?xml version="1.0" encoding=& ...

  10. MFC获取系统当前时间

    1.使用CTime类 CString str; //获取系统时间 CTime tm; tm=CTime::GetCurrentTime(); str=tm.Format("现在时间是%Y年% ...