热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

搭建一个基于http的yum服务器

基于http的yum服务器在集群中搭建一个基于HTTP的yum服务器,不仅安装速度变快了许多,还能扩展自己定制的rpm包放入yum服务器中,

基于httpyum服务器

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

 

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

nginx编译安装文档 :

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

扩展(可选):

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

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

 

开始搭建yum源服务器

第一步 创建目录

web根目录下创建centosplusextrasupdatesos四个目录

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 <

[base]

name&#61;CentOS-$releasever - Base

baseurl&#61;http://192.168.127.200/os/

enabled&#61;1

gpgcheck&#61;0

 

#released updates

[updates]

name&#61;CentOS-$releasever - Updates

baseurl&#61;http://192.168.127.200/updates/

enabled&#61;1

gpgcheck&#61;0

 

#additional packages that may be useful

[extras]

name&#61;CentOS-$releasever - Extras

baseurl&#61;http://192.168.127.200/extras/

enabled&#61;1

gpgcheck&#61;0

 

#additional packages that extend functionality of existing packages

[centosplus]

name&#61;CentOS-$releasever - Plus

baseurl&#61;http://192.168.127.200/centosplus/

enabled&#61;1

gpgcheck&#61;0

eof

 

yum clean all

yum makecache

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

#baseurl指向仓库&#xff08;repodata&#xff09;所在的目录

 

若是要保持本地yum源于网络yum源同步&#xff0c;则可以将

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/

加入定时任务。

 

镜像站点与本地路径对应的目录&#xff1a;

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服务器内容修改了之后&#xff0c;需要更新仓库

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

更新了仓库&#xff0c;客户机也需要重新建立缓存

yum clean all

yum makecache

 

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

 


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


推荐阅读
author-avatar
靠谱同学轻松1988
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有