千家信息网

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

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,yum主要用于自动安装、升级rpm软件包,它能自动查找并解决rpm包之间的依赖关系。要成功的使用YUM工具安装更新软件或系统,就需要有一个包含各种rpm软件包的repository(软件仓库),这个软
千家信息网最后更新 2026年11月01日自动化部署必备技能——搭建YUM仓库

yum主要用于自动安装、升级rpm软件包,它能自动查找并解决rpm包之间的依赖关系。要成功的使用YUM工具安装更新软件或系统,就需要有一个包含各种rpm软件包的repository(软件仓库),这个软件仓库我们习惯称为yum源。网络上有大量的yum源,但由于受到网络环境的限制,导致软件安装耗时过长甚至失败。特别是当有大量服务器大量软件包需要安装时,缓慢的进度条令人难以忍受。因此我们在优化系统时,都会更换国内的源。

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

1. 创建yum仓库目录

  1. mkdir -p /application/yum/centos6.6/x86_64/

  2. cd /application/yum/centos6.6/x86_64/

  3. rz # 上传rpm包到此目录,此目录下面还可以包括文件夹

2. 安装createrepo软件

yum -y install createrepo

3. 初始化repodata索引文件

  1. createrepo -pdo /application/yum/centos6.6/x86_64/ /application/yum/centos6.6/x86_64/

4. 提供yum服务

  1. # 可以用Apache或nginx提供web服务,但用Python的http模块更简单,适用于内网环境

  2. cd /application/yum/centos6.6/x86_64/

  3. python -m SimpleHTTPServer 80 &>/dev/null &

  4. 可以通过浏览器输入本机IP查看。

5. 添加新的rpm包

  1. # 只下载软件不安装

  2. yumdownloader pcre-devel openssl-devel

  3. createrepo --update /application/yum/centos6.6/x86_64/

  4. # 每加入一个rpm包就要更新一下。

平时yum安装软件时不删除安装包

  1. # cat /etc/yum.conf

  2. keepcache=1

  3. # 安装包存储目录 注释打开

  4. cachedir=/var/cache/yum/$basearch/$releasever

  5. # /var/cache/yum/x86_64/6/base/packages

6. 客户端配置

  1. # cd /etc/yum.repos.d

  2. [root@B yum.repos.d]# vi jiege.repo

  3. [jiege]

  4. name=Server

  5. baseurl=http://192.168.169.10

  6. enable=1

  7. gpgcheck=0

  8. [root@YUM ~]# yum --enablerepo=jiege --disablerepo=base,extras,updates,epel list

  9. # 指定使用jiege库

  10. 上面是临时使用内网yum源,想永久并简单使用yum -y install lrzsz命令,就需要修改配置文件将默认的repo文件关闭。

  11. cd /etc/yum.repos.d/

    vim CentOS-Base.repo

  12. # 在每一个启动的源加上

  13. # enabled=0 #改为1就启用,没有此参数也是启用。

  14. [base]

  15. …………

  16. enabled=0

  17. [updates]

  18. …………

  19. enabled=0

  20. [extras]

  21. …………

  22. enabled=0

  23. # 还有其他开启的仓库就使用这个办法关闭。

7. 镜像yum源

上面只是将自己制作的rpm包,放入yum源。但还有一种企业需求,说的更具体一点,平时公司yum安装软件都是从公网下载的,占用带宽,因此在公司里搭建一个内网yum服务器,但又考虑到员工回家也要使用yum安装软件,如果yum软件的数据库文件repodata不一样,就会有问题。因此我想到的解决方法就是直接使用公网yum源的repodata。

  1. 镜像同步公网yum源

  2. 上游yum源必须要支持rsync协议,否则不能使用rsync进行同步。

  3. http://mirrors.ustc.edu.cn/status/

  4. CentOS官方标准源:rsync://mirrors.ustc.edu.cn/centos/

  5. epel源:rsync://mirrors.ustc.edu.cn/epel/

  6. 同步命令:

  7. # 使用rsync同步yum源,为了节省带宽、磁盘和下载时间,我只同步了CentOS6的rpm包,这样所有的rpm包只占用了21G,全部同步需要300G左右。

  8. # 同步base源,小技巧,我们安装系统的光盘镜像含有部分rpm包,大概3G,这些就不用重新下载。

  9. /usr/bin/rsync -av rsync://mirrors.ustc.edu.cn/centos/6/os/x86_64/ /data/yum_data/os/x86_64/

  10. /usr/bin/rsync -av rsync://mirrors.ustc.edu.cn/centos/6/extras/x86_64/ /data/yum_data/extras/x86_64/

  11. /usr/bin/rsync -av rsync://mirrors.ustc.edu.cn/centos/6/updates/x86_64/ /data/yum_data/updates/x86_64/

  12. # epel源

  13. /usr/bin/rsync -av --exclude=debug rsync://mirrors.ustc.edu.cn/epel/6/x86_64/ /data/yum_data/epel/6/x86_64/

  14. 学生使用内网yum源方法

  15. # 可以自建一个内网dns,如果没有,可使用hosts解析。

  16. echo '192.168.0.200 mirrors.aliyun.com' >>/etc/hosts

  17. 结果展示

  18. [root@KVM data]# du -sh yum_data

  19. 21G yum_data

  20. [root@KVM data]# tree -L 3 yum_data/

  21. yum_data/

  22. ├── centos

  23. │ ├── 6

  24. │ │ ├── extras

  25. │ │ ├── os

  26. │ │ └── updates

  27. │ └── RPM-GPG-KEY-CentOS-6

  28. ├── epel

  29. │ └── 6

  30. │ └── x86_64


软件 同步 服务 文件 仓库 服务器 目录 系统 网络 软件包 镜像 公网 公司 命令 客户 局域 局域网 带宽 方法 环境 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技企业 北京路客互联网科技有限公司 互联网下的科技发展 互联网 科技 润盈互联网科技 伴你行互联网科技有限公司 滨湖区互联网智能科技产品供应 济南和联互联网科技有限公司 老年人脱离互联网科技的作文 须眉科技是互联网公司吗 互联网科技与管理 世界互联网科技公司市值排名 青岛科技大学互联网大赛研究生 健康食品互联网创新科技园项目 启辰互联网科技 下一代互联网重大应用科技园 版纳互联网科技选哪家 艺电能源互联网科技有限公司招聘 互联网科技收购价值 宁波允成互联网科技有限公司 互联网科技工作委员会毛军 科技类互联网 互联网科技小贷 互联网科技ppt模板 互联网科技公司的市场部门 团飞科技与伯堂互联网服务平台 中国互联网公司排名锤子科技 电子商务与互联网科技的关系 玉溪新华互联网科技怎么选 中国主要互联网科技公司
0