博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
YUM仓库构建(基于FTP的方式)
阅读量:6070 次
发布时间:2019-06-20

本文共 3359 字,大约阅读时间需要 11 分钟。

前言

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

YUM仓库构建

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

本地光盘提供基础软件包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.关闭防火墙[root@yum_server_171 ~]# systemctl stop firewalld[root@yum_server_171 ~]# systemctl disable firewalld#2.关闭selinux[root@yum_server_171 ~]# sed -i.ori 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config[root@yum_server_171 ~]# setenforce 0[root@yum_server_171 ~]# getenforceDisabled#3.安装ftp服务,启动并加⼊开机启动[root@yum_server_171 ~]# yum install vsftpd -y[root@yum_server_171 ~]# systemctl start vsftpd[root@yum_server_171 ~]# systemctl enable vsftpd#4.开启yum缓存功能[root@yum_server_171 ~]# vim /etc/yum.conf[main]cachedir=/var/cache/yum/$basearch/$releaseverkeepcache=1debuglevel=2....#清理所有yum缓存[root@yum_server_171 ~]# yum clean all

2.提供基础的base

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

3.提供第三方源

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

#创建一个用于存放第三放源的rom包目录[root@yum_server_171 ~]# mkdir /var/ftp/ops -p#添加zabbix repo源[root@yum_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源[root@yum_server_171 ~]# yum install https://repo.saltstack.com/yum/redhat/salt-repo-latest-2.el7.noarch.rpm[root@yum_server_171 ~]# sed -i "s/repo.saltstack.com/mirrors.aliyun.com\/saltstack/g" /etc/yum.repos.d/salt-latest.repo#下载第三方rpm包[root@yum_server_171 ~]# yum -y install nginx docker zabbix-agent  zabbix-server-mysql salt-mastet salt-minion #复制已缓存的 Nginx docker zabbix saltstack 及依赖包等,到⾃定义YUM仓库⽬录中 [root@yum_server_171 ~]# find /var/cache/yum/x86_64/7/ -iname "*.rpm" -exec cp -r {} /var/ftp/ops/ \;[root@yum_server_171 ~]# ll /var/ftp/ops/ |wc -l99

4.安装createrepo并创建repo仓库

#安装createrepo,用于仓库信息的生成[root@yum_server_171 ~]# yum -y install createrepo#生成仓库信息[root@yum_server_171 ~]# createrepo /var/ftp/ops/[root@yum_server_171 ~]# createrepo /var/ftp/centos74/注意: 如果此仓库每次新增软件包则需要重新⽣成⼀次(createrepo)

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

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

客户端使⽤yum源

1.备份原有仓库

[root@yum_client_172 ~]# gzip /etc/yum.repos.d/*

2.配置并使用base基础源

[root@yum_client_172 ~]# vim /etc/yum.repos.d/centos7.repo[centos74]name=centos74_basebaseurl=ftp://10.0.0.171/centos74gpgcheck=0

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

[root@yum_client_172 ~]# vim /etc/yum.repos.d/ops.repo[ops]name=ops_repobaseurl=ftp://10.0.0.171/opsgpgcheck=0

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

[root@yum_client_172 ~]# yum makecache[root@yum_client_172 ~]# yum repolistLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfilerepo id                             repo name                                statuscentos74                            centos74_base                        3,894ops                                     ops_repo                                  98repolist: 3,992

5.客户端yum安装rpm包

[root@yum_client_172 ~]# yum install nginx -y

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

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

转载于:https://blog.51cto.com/12643266/2348755

你可能感兴趣的文章
关于HTML5的理解
查看>>
需要学的东西
查看>>
Internet Message Access Protocol --- IMAP协议
查看>>
Linux 获取文件夹下的所有文件
查看>>
对 Sea.js 进行配置(一) seajs.config
查看>>
dom4j解析xml文件
查看>>
第六周
查看>>
斯坦福大学公开课机器学习:梯度下降运算的学习率a(gradient descent in practice 2:learning rate alpha)...
查看>>
解释一下 P/NP/NP-Complete/NP-Hard 等问题
查看>>
javafx for android or ios ?
查看>>
微软职位内部推荐-Senior Software Engineer II-Sharepoint
查看>>
sql 字符串操作
查看>>
【转】Android布局优化之ViewStub
查看>>
网络安全管理技术作业-SNMP实验报告
查看>>
根据Uri获取文件的绝对路径
查看>>
Fundebug前端JavaScript插件更新至1.6.0,新增test()方法用于测试
查看>>
Flutter 插件开发:以微信SDK为例
查看>>
.NET[C#]中NullReferenceException(未将对象引用到实例)是什么问题?如何修复处理?...
查看>>
复杂业务下,我们为何选择Akka作为异步通信框架?
查看>>
边缘控制平面Ambassador全解读
查看>>