YUM仓库构建(基于FTP的方式)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了YUM仓库构建(基于FTP的方式)相关的知识,希望对你有一定的参考价值。

前言
本文章讲述如何基于TFTP的方式搭建YUM仓库,那么YUM仓库使用场景还是挺广泛的,如果公司服务器数量较大的话,可以在本地搭建YUM仓库,在客户端创建repo文件指向YUM仓库,那么当客户端yum安装软件的时候直接从本地YUM仓库中下载rpm包,而YUM仓库可以定时的向互联网的repo仓库同步rpm包

YUM仓库构建
技术图片

本地光盘提供基础软件包Base
yum缓存提供update软件包
yum缓存提供常?软件包:nginx,zabbix,docker,saltstack

环境准备

系统 IP 角色 主机名
centos7.4 10.0.0.171 yum仓库服务端 yum_server_171
centos7.4 10.0.0.172 yum仓库服务端 yum_client_172

服务端配置
1.基础环境准备

#1.关闭防火墙
[[email protected]_server_171 ~]# systemctl stop firewalld
[[email protected]_server_171 ~]# systemctl disable firewalld

#2.关闭selinux
[[email protected]_server_171 ~]# sed -i.ori ‘s#SELINUX=enforcing#SELINUX=disabled#g‘ /etc/selinux/config
[[email protected]_server_171 ~]# setenforce 0
[[email protected]_server_171 ~]# getenforce
Disabled

#3.安装ftp服务,启动并加?开机启动
[[email protected]_server_171 ~]# yum install vsftpd -y
[[email protected]_server_171 ~]# systemctl start vsftpd
[[email protected]_server_171 ~]# systemctl enable vsftpd

#4.开启yum缓存功能
[[email protected]_server_171 ~]# vim /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=1
debuglevel=2
....

#清理所有yum缓存
[[email protected]_server_171 ~]# yum clean all

2.提供基础的base

#创建一个用于存放基础base的rpm包目录
[[email protected]_server_171 ~]# mkdir /var/ftp/centos74 -p 
#挂载ios镜像并拷贝该镜像中的rpm包至存放目录
[[email protected]_server_171 ~]# mount /dev/cdrom /mnt/  
[[email protected]_server_171 ~]# cp /mnt/Packages/*.rpm /var/ftp/centos74/
[[email protected]_server_171 ~]# ls /var/ftp/centos74/ |wc -L
82

3.提供第三方源
有些软件包需要添加对应的官方仓库,例如zabbix,saltstack,需提前添加好对应软件包的repo仓库,文中我就以zabbix,saltstack演示。

#创建一个用于存放第三放源的rom包目录
[[email protected]_server_171 ~]# mkdir /var/ftp/ops -p

#添加zabbix repo源
[[email protected]_server_171 ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

#添加saltstack repo源
[[email protected]_server_171 ~]# yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm
[[email protected]_server_171 ~]# sed -i "s/repo.saltstack.com/mirrors.aliyun.com/saltstack/g" /etc/yum.repos.d/salt-latest.repo

#下载第三方rpm包
[[email protected]_server_171 ~]# yum -y install nginx docker zabbix-agent  zabbix-server-mysql salt-mastet salt-minion 

#复制已缓存的 Nginx docker zabbix saltstack 及依赖包等,到?定义YUM仓库?录中 
[[email protected]_server_171 ~]# find /var/cache/yum/x86_64/7/ -iname "*.rpm" -exec cp -r {} /var/ftp/ops/ ;
[[email protected]_server_171 ~]# ll /var/ftp/ops/ |wc -l
99

4.安装createrepo并创建repo仓库

#安装createrepo,用于仓库信息的生成
[[email protected]_server_171 ~]# yum -y install createrepo
#生成仓库信息
[[email protected]_server_171 ~]# createrepo /var/ftp/ops/
[[email protected]_server_171 ~]# createrepo /var/ftp/centos74/

注意: 如果此仓库每次新增软件包则需要重新?成?次(createrepo)

5.在浏览器输入ftp://10.0.0.171/,可访问到ftp的内容(根据实际地址为准)

技术图片

客户端使?yum源
1.备份原有仓库

[[email protected]_client_172 ~]# gzip /etc/yum.repos.d/*

2.配置并使用base基础源

[[email protected]_client_172 ~]# vim /etc/yum.repos.d/centos7.repo
[centos74]
name=centos74_base
baseurl=ftp://10.0.0.171/centos74
gpgcheck=0

3.客户端指向本地ops源(第三方源)

[[email protected]_client_172 ~]# vim /etc/yum.repos.d/ops.repo
[ops]
name=ops_repo
baseurl=ftp://10.0.0.171/ops
gpgcheck=0

4.生成yum缓存并查看repo仓库列表

[[email protected]_client_172 ~]# yum makecache
[[email protected]_client_172 ~]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id                             repo name                                status
centos74                            centos74_base                        3,894
ops                                     ops_repo                                  98
repolist: 3,992

5.客户端yum安装rpm包

[[email protected]_client_172 ~]# yum install nginx -y

可以看到安装nginx的过程中,是从我们刚刚搭建的yum仓库中下载
技术图片

以上是关于YUM仓库构建(基于FTP的方式)的主要内容,如果未能解决你的问题,请参考以下文章

部署yum仓库+实验:在线YUM仓库配置

Linux部署YUM仓库

Linux系统部署YUM远程仓库及NFS共享服务

YUM仓库服务与PXE网络装机

部署YUM源仓库与NFS共享存储服务

部署yum仓库及NFS共享服务