基于http的yum服务器

在集群中搭建一个基于HTTP的yum服务器,不仅安装速度变快了许多,还能扩展自己定制的rpm包放入yum服务器中,其他服务器只需要正常使用yum install即可批量安装统一经过定制的rpm包。这篇文章对习惯使用yum的人来说,以后对很多机器需要进行安装软件很方便

先安装一个web软件,apache或nginx都可以,我使用的是nginx

nginx编译安装文档 :

http://www.cnblogs.com/czlun/articles/7119297.html

扩展(可选):

nginx开启文件目录列表显示功能 :

http://www.cnblogs.com/czlun/articles/7698504.html

开始搭建yum源服务器

第一步 创建目录

在web根目录下创建centosplus、extras、updates、os四个目录

mkdir -p /data/wwwroot/yum-server

#虚拟主机的路径需要设置为该路径

cd /data/wwwroot/yum-server

mkdir centosplus  extras  updates  os

#这四个目录用来区分类型

for DIR in $(ls); do cd $DIR; mkdir Packages; cd ..; done

#分别在四个目录下创建存储rpm包的目录

第二步 获取rpm包

现在我们要获取yum服务向外提供的rpm包

方法一 下载iso,并从iso镜像里拷贝(推荐)

wget http://mirror.nsc.liu.se/centos-store/7.2.1511/isos/x86_64/CentOS-7-x86_64-Everything-1511.iso

mount CentOS-7-x86_64-Everything-1511.iso /mnt

cp /mnt/Packages/* /data/wwwroot/yum-server/os/Packages/

方法二 利用rsync同步至本地(不推荐)

rsync -avz --delete rsync://mirrors.ustc.edu.cn/centos/7/os/x86_64/Packages/ /data/wwwroot/yum-server/os/Packages/

rsync -avz --delete rsync://mirrors.ustc.edu.cn/centos/7/extras/x86_64/Packages/ /data/wwwroot/yum-server/extras/Packages/

rsync -avz --delete rsync://mirrors.ustc.edu.cn/centos/7/updates/x86_64/Packages/ /data/wwwroot/yum-server/updates/Packages/

rsync -avz --delete rsync://mirrors.ustc.edu.cn/centos/7/centosplus/x86_64/Packages/ /data/wwwroot/yum-server/centosplus/Packages/

该方法不推荐的原因很简单,慢。

第三步 创建仓库

对三个目录使用createrepo创建仓库(生成repodata目录)

yum install -y createrepo

createrepo -o /data/wwwroot/yum-server/os /data/wwwroot/yum-server/os/Packages/

createrepo -o /data/wwwroot/yum-server/extras /data/wwwroot/yum-server/extras/Packages/

createrepo -o /data/wwwroot/yum-server/updates /data/wwwroot/yum-server/updates/Packages/

createrepo -o /data/wwwroot/yum-server/centosplus /data/wwwroot/yum-server/centosplus/Packages/

#-o 指定repodata生成的目录

此时yum服务器已经搭建完成

客户端配置

cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak

> /etc/yum.repos.d/CentOS-Base.repo

cat >> /etc/yum.repos.d/CentOS-Base.repo << eof

[base]

name=CentOS-$releasever - Base

baseurl=http://192.168.127.200/os/

enabled=1

gpgcheck=0

#released updates

[updates]

name=CentOS-$releasever - Updates

baseurl=http://192.168.127.200/updates/

enabled=1

gpgcheck=0

#additional packages that may be useful

[extras]

name=CentOS-$releasever - Extras

baseurl=http://192.168.127.200/extras/

enabled=1

gpgcheck=0

#additional packages that extend functionality of existing packages

[centosplus]

name=CentOS-$releasever - Plus

baseurl=http://192.168.127.200/centosplus/

enabled=1

gpgcheck=0

eof

yum clean all

yum makecache

#当yum服务器内容修改了之后或者修改了yum源文件,客户机需要重新建立缓存

#baseurl指向仓库(repodata)所在的目录

若是要保持本地yum源于网络yum源同步,则可以将

rsync -avz --delete rsync://mirrors.ustc.edu.cn/centos/7/os/x86_64/Packages/ /data/wwwroot/yum-server/os/Packages/

rsync -avz --delete rsync://mirrors.ustc.edu.cn/centos/7/extras/x86_64/Packages/ /data/wwwroot/yum-server/extras/Packages/

rsync -avz --delete rsync://mirrors.ustc.edu.cn/centos/7/updates/x86_64/Packages/ /data/wwwroot/yum-server/updates/Packages/

rsync -avz --delete rsync://mirrors.ustc.edu.cn/centos/7/centosplus/x86_64/Packages/ /data/wwwroot/yum-server/centosplus/Packages/

加入定时任务。

镜像站点与本地路径对应的目录:

在http://mirrors.ustc.edu.cn/centos/7/的基础上

os/x86_64/Packages/ 对应 /data/wwwroot/yum-server/os/Packages/

updates/x86_64/Packages/ 对应 /data/wwwroot/yum-server/updates/Packages/

extras/x86_64/Packages/ 对应 /data/wwwroot/yum-server/extras/Packages/

centosplus/x86_64/Packages/ 对应 /data/wwwroot/yum-server/centosplus/Packages/

当yum服务器内容修改了之后,需要更新仓库

createrepo --update /data/wwwroot/yum-server/os

createrepo --update /data/wwwroot/yum-server/centosplus

createrepo --update /data/wwwroot/yum-server/extras

createrepo --update /data/wwwroot/yum-server/updates

更新了仓库,客户机也需要重新建立缓存

yum clean all

yum makecache

到这里,我们的yum服务器及客户机的配置都已经完成了。

转载于:https://www.cnblogs.com/czlun/articles/7702060.html

搭建一个基于http的yum服务器相关推荐

  1. 从零搭建一个基于React+Nextjs的SSR网站(四):如何搭建服务器并部署Nextjs项目

    个人博客源码:https://github.com/shaotianyu/blog-front PS: 如果你有疑惑,可以给我留言,咱们一起解决它. 从零搭建一个基于React+Nextjs的SSR网 ...

  2. 零基础搭建一个基于PHP+MYSQL网站教程,个人建站全过程

    零基础搭建一个基于PHP+MYSQL网站教程,个人建站全过程 一.网站计划编写. 1.定位,网站名称,关键字,描述,分类目录,内容 [这里推荐用脑图软件,可以用百度脑图] 2.想好域名      二. ...

  3. Guacamole搭建,一个基于HTML5的远程桌面

    介绍 Guacamole可以同HTML5来代理远程桌面协议(如: VNC, RDP, Telnet, SSH) 官网: http://guac-dev.org/ 其由许多部件组成的轻量级web应用程序 ...

  4. 如何快速搭建一个基于FengMap的地图导航应用?

    蜂鸟视图自成立以来就专注于提供从地图数据生产.地图编辑运维.地图应用开发的全流程专业技术产品与服务.长期的市场考验与技术迭代升级,产品功能接口较全面,性能表现优异. 日前,蜂鸟视图正式向海内外开发者用 ...

  5. 15 分钟搭建一个基于XLNET的文本分类模型——keras实战

    今天笔者将简要介绍一下后bert 时代中一个又一比较重要的预训练的语言模型--XLNET ,下图是XLNET在中文问答数据集CMRC 2018数据集(哈工大讯飞联合实验室发布的中文机器阅读理解数据,形 ...

  6. 自己动手搭建一个简单的静态资源服务器

    文章目录 自己动手搭建一个简单的静态资源服务器 介绍 一.设计到的模块 备注: 二.代码结构 三.具体代码 自己动手搭建一个简单的静态资源服务器 介绍 ​ 通过此文章的学习,可以自己使用NodeJs搭 ...

  7. 一个基于Java的syslog服务器,大家都来看看啊!

    一个基于Java的syslog服务器 前言 前期准备 功能效果图 接收到的数据只能输出到控制台的问题解决方法 具体代码 结语 前言 当时接到要开发syslog功能时,我的表情是这样的- 啥是syslo ...

  8. Linux上利用nginx搭建一个简单的rtmp视频流服务器(不涉及直播)

    文章目录 Linux上利用nginx搭建一个简单的rtmp视频流服务器(不涉及直播) 一.基础环境搭建 二.构建Nginx 下载nginx-rtmp-module 安装Nginx 编译nginx,代理 ...

  9. 从头搭建一个基于 Python 的在线聊天室

    本场 Chat,是基于 Python + Redis + Flask 来搭建一个简单易用的在线聊天室.完全从零开始,一步一步完成整个项目. 主要分享内容: Flask 项目结构 Python Redi ...

最新文章

  1. 基于移动位置服务器,移动定位服务器的设计与实现
  2. 天龙固件U盘更新_硅格T18D量产工具下载_硅格T18D量产工具官方版下载[u盘格式化]...
  3. Laravel 中简约而不简单的 Macroable 宏指令 1
  4. 斯坦福机器学习公开课学习笔记(3)—拟合问题以及局部权重回归、逻辑回归
  5. Oracle 触发器的使用小结
  6. 如果40岁仍碌碌无为,牢记2句话,最迟也是大器晚成
  7. Python Imaging Library: ImagePath Module(图像路径模块)
  8. 数字信号处理(DSP)实验——IIR数字滤波器设计与仿真
  9. SQLServer 2008安装教程
  10. 使用iText处理pdf文件的入门级教程
  11. RAID - 提升IO性能及数据安全
  12. optim优化器的使用
  13. win10 + chrome 死机问题处理
  14. 一篇关于职业选择的好文章
  15. WEB 安全之 SQL注入 二 暴库
  16. OnTime pro for mac(多功能时钟工具)
  17. 祛除体内湿气的最佳方法 713.html,祛除体内湿气七种有效泡水方法
  18. 安全计算:AntiVir Personal Edition提供免费病毒防护
  19. 晓月_【斗战神学习四十】金山寺
  20. C/C++笔试题(11)

热门文章

  1. AttributeError: Can only use .str accessor with string values, which use np.object_ dtype in pandas
  2. 网络操作系统P12页答案
  3. bzoj 4898: [Apio2017]商旅【Floyd+分数规划+二分】
  4. 移动端常见的一些兼容性问题
  5. 博客园客户端(睡睡版iphone)源码
  6. 【转】DB2 常用命令
  7. phpize增加php模块
  8. Test live writer
  9. HTML元素title里面如何换行
  10. html 5 本地数据库(Web Sql Database)