16.搭建本地仓库
孙富阳, 江湖人称没人称。多年互联网运维工作经验,曾负责过孙布斯大规模集群架构自动化运维管理工作。擅长Web集群架构与自动化运维,曾负责国内某大型博客网站运维工作。
为什么要搭建yum仓库
我们并不是所有的Linux服务器都能访问外网的,搭建本地yum仓库,可以让其他机器直接从我这里下载软件,加快了下载速度,也不浪费带宽。
这里以nginx和vsftp两种服务方式搭建yum仓库,当然搭建yum仓库的方式有很多种。比如可以将nginx、vsftp等服务放在docker里运行。
1.环境准备
系统 | ip | 角色 |
centos7 | 10.0.0.99 | yum仓库服务端 |
centos7 | 10.0.0.98 | yum仓库客户端 |
2.以vsftp来搭建yum仓库
2.1.服务端进行yum仓库的搭建准备工作
#1.关闭防火墙、与selinux
[root@yum_server ~]# systemctl stop firewalld
[root@yum_server ~]# setenforce 0
#2.安装ftp服务,启动并加入开机启动
[root@yum_server ~]# yum -y install vsftpd
[root@yum_server ~]# systemctl start vsftpd
[root@yum_server ~]# systemctl enable vsftpd
#3.开启yum缓存功能
[root@yum_server ~]# vim /etc/yum.conf
[main] cachedir=/var/cache/yum/$basearch/$releasever
keepcache=1
[root@yum_server ~]# yum clean all
#4.提供基础base软件包
[root@yum_server ~]# mkdir /var/ftp/centos7
[root@yum_server ~]# mount /dev/cdrom /mnt
[root@yum_server ~]# cp -rp /mnt/Packages/*.rpm /var/ftp/centos7/
#5.提供第三方源
[root@yum_server ~]# mkdir /var/ftp/ops
[root@yum_server ~]# yum -y install nginx docker
#6.复制已缓存的 Nginx docker 及依赖包 到自定义 YUM 仓库目录中
[root@yum_server_69_112 ~]# find /var/cache/yum/x86_64/7/ \
-iname "*.rpm" -exec cp -rf {} /var/ftp/ops \;
#7.安装createrepo并创建 reopdata仓库
[root@yum_server_ ~]# yum -y install createrepo
[root@yum_server_ ~]# createrepo /var/ftp/ops
#PS: 如果此仓库每次新增软件则需要重新生成一次
2.2.客户端配置yum源指向服务端
#1.客户端配置并使用 base 基础源
[root@yum_client ~]# gzip /etc/yum.repos.d/*
[root@yum_client ~]# vim /etc/yum.repos.d/centos7.repo
[centos7]
name=centos7_base
baseurl=ftp://10.0.0.99/centos7
gpgcheck=0
#2.客户端配置并使用 ops 源
[root@yum_client ~]# vim /etc/yum.repos.d/ops.repo
[ops]
name=local ftpserver
baseurl=ftp://10.0.0.99/ops
gpgcheck=0
###到这里基于visftp服务的yum仓库就搭建完成了
3. 以nginx来搭建yum仓库
3.1.服务端进行yum仓库的搭建准备工作
#1.关闭防火墙、与selinux
[root@yum_server ~]# systemctl stop firewalld
[root@yum_server ~]# setenforce 0
#2.安装ftp服务,启动并加入开机启动
[root@yum_server ~]# yum -y install nginx
[root@yum_server ~]# systemctl start nginx
[root@yum_server ~]# systemctl enable nginx
#3.开启yum缓存功能
[root@yum_server ~]# vim /etc/yum.conf
[main] cachedir=/var/cache/yum/$basearch/$releasever
keepcache=1
[root@yum_server ~]# yum clean all
#4.提供基础base软件包
[root@yum_server ~]# mkdir /var/nginx/centos7
[root@yum_server ~]# mount /dev/cdrom /mnt
[root@yum_server ~]# cp -rp /mnt/Packages/*.rpm /var/nginx/centos7/
#5.编辑nginx配置文件
[root@yum_server ~]# cat /etc/nginx/conf.d/yum_repo.conf
server {
listen 80;
root /var/nginx/centos7;
autoindex on;###这是目录索引,方便通过web页面查看仓库里有哪些包
autoindex_localtime on;###索引使用本地时间
autoindex_exact_size off;###大小以人类可读的方式展示。就是换算成M、G这样的单位
}
#6.安装createrepo并创建 reopdata仓库
[root@yum_server_ ~]# yum -y install createrepo
[root@yum_server_ ~]# createrepo /var/nginx/centos7
#PS: 如果此仓库每次新增软件则需要重新生成一次
3.2.客户端配置yum源指向服务端
#1.客户端配置并使用本地yum源
[root@yum_client ~]# gzip /etc/yum.repos.d/*
[root@yum_client ~]# vim /etc/yum.repos.d/centos7.repo
[centos7]
name=centos7_base
baseurl=http://10.0.0.99/
gpgcheck=0
###到这里基于nginx服务的yum仓库就搭建完成了
评论已关闭