搭建一个基于http的yum服务器
基于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服务器相关推荐
- 从零搭建一个基于React+Nextjs的SSR网站(四):如何搭建服务器并部署Nextjs项目
个人博客源码:https://github.com/shaotianyu/blog-front PS: 如果你有疑惑,可以给我留言,咱们一起解决它. 从零搭建一个基于React+Nextjs的SSR网 ...
- 零基础搭建一个基于PHP+MYSQL网站教程,个人建站全过程
零基础搭建一个基于PHP+MYSQL网站教程,个人建站全过程 一.网站计划编写. 1.定位,网站名称,关键字,描述,分类目录,内容 [这里推荐用脑图软件,可以用百度脑图] 2.想好域名 二. ...
- Guacamole搭建,一个基于HTML5的远程桌面
介绍 Guacamole可以同HTML5来代理远程桌面协议(如: VNC, RDP, Telnet, SSH) 官网: http://guac-dev.org/ 其由许多部件组成的轻量级web应用程序 ...
- 如何快速搭建一个基于FengMap的地图导航应用?
蜂鸟视图自成立以来就专注于提供从地图数据生产.地图编辑运维.地图应用开发的全流程专业技术产品与服务.长期的市场考验与技术迭代升级,产品功能接口较全面,性能表现优异. 日前,蜂鸟视图正式向海内外开发者用 ...
- 15 分钟搭建一个基于XLNET的文本分类模型——keras实战
今天笔者将简要介绍一下后bert 时代中一个又一比较重要的预训练的语言模型--XLNET ,下图是XLNET在中文问答数据集CMRC 2018数据集(哈工大讯飞联合实验室发布的中文机器阅读理解数据,形 ...
- 自己动手搭建一个简单的静态资源服务器
文章目录 自己动手搭建一个简单的静态资源服务器 介绍 一.设计到的模块 备注: 二.代码结构 三.具体代码 自己动手搭建一个简单的静态资源服务器 介绍 通过此文章的学习,可以自己使用NodeJs搭 ...
- 一个基于Java的syslog服务器,大家都来看看啊!
一个基于Java的syslog服务器 前言 前期准备 功能效果图 接收到的数据只能输出到控制台的问题解决方法 具体代码 结语 前言 当时接到要开发syslog功能时,我的表情是这样的- 啥是syslo ...
- Linux上利用nginx搭建一个简单的rtmp视频流服务器(不涉及直播)
文章目录 Linux上利用nginx搭建一个简单的rtmp视频流服务器(不涉及直播) 一.基础环境搭建 二.构建Nginx 下载nginx-rtmp-module 安装Nginx 编译nginx,代理 ...
- 从头搭建一个基于 Python 的在线聊天室
本场 Chat,是基于 Python + Redis + Flask 来搭建一个简单易用的在线聊天室.完全从零开始,一步一步完成整个项目. 主要分享内容: Flask 项目结构 Python Redi ...
最新文章
- 基于移动位置服务器,移动定位服务器的设计与实现
- 天龙固件U盘更新_硅格T18D量产工具下载_硅格T18D量产工具官方版下载[u盘格式化]...
- Laravel 中简约而不简单的 Macroable 宏指令 1
- 斯坦福机器学习公开课学习笔记(3)—拟合问题以及局部权重回归、逻辑回归
- Oracle 触发器的使用小结
- 如果40岁仍碌碌无为,牢记2句话,最迟也是大器晚成
- Python Imaging Library: ImagePath Module(图像路径模块)
- 数字信号处理(DSP)实验——IIR数字滤波器设计与仿真
- SQLServer 2008安装教程
- 使用iText处理pdf文件的入门级教程
- RAID - 提升IO性能及数据安全
- optim优化器的使用
- win10 + chrome 死机问题处理
- 一篇关于职业选择的好文章
- WEB 安全之 SQL注入 二 暴库
- OnTime pro for mac(多功能时钟工具)
- 祛除体内湿气的最佳方法 713.html,祛除体内湿气七种有效泡水方法
- 安全计算:AntiVir Personal Edition提供免费病毒防护
- 晓月_【斗战神学习四十】金山寺
- C/C++笔试题(11)
热门文章
- AttributeError: Can only use .str accessor with string values, which use np.object_ dtype in pandas
- 网络操作系统P12页答案
- bzoj 4898: [Apio2017]商旅【Floyd+分数规划+二分】
- 移动端常见的一些兼容性问题
- 博客园客户端(睡睡版iphone)源码
- 【转】DB2 常用命令
- phpize增加php模块
- Test live writer
- HTML元素title里面如何换行
- html 5 本地数据库(Web Sql Database)