CentOS7.6 局域网内搭建本地yum源

一、背景

客户机房服务器无法直连公网,远程通过堡垒机部署环境,因为机器比较多,最终选择通过安装自定义yum源进行部署。以下为自己部署yum源过程,以备后续使用。

二、准备yum源Packages

网上搜索安装大部分都是使用的镜像,安装包有限,本文使用自定义选择安装包的方式准备的yum源。首先准备一台和目标机器环境一样的可以连接公网的服务器进行yum源的准备。

1、先安装下载软件源所需工具:

yum install yum-utils -y

2、查看软件源列表

yum repolist

python搭建一个本地服务并开一个POST接口_服务器


3、下载对应的库(一般来说只用下载base库就够了,当然也可以全部下载下来)

reposync -r base
reposync -r extras
reposync -r updates

python搭建一个本地服务并开一个POST接口_linux_02

三、创建本地yum源

上一步下载的包就是我们需要的yum源,将所有的yum源上传到目标机的文件夹中,后续安装的时候就会在该文件夹中选择rpm包。
创建文件夹用来存储所有的rpm包文件

mkdir -p /data/yum/Packages

将对应的rpm文件上传到Packages目录中
我是使用的WinSCP工具进行上传的,可以选择自己熟悉的方式

安装必要工具包:包拷贝完成之后需要构建yum使用的数据库,以xml文件形式存在,该数据库会对所有包进行分类建立索引,方便yum程序快速搜索安装包和检查包之间的依赖关系。但创建数据库要用到一个工具包createrepo-0.x.x-xx.el6.noarch.rpm,默认是没有的,先要对它进行安装,在刚刚我们下载的rpm包中就有该包,我们可以直接安装。(安装该包需要相关的依赖包,版本对应自己rpm包的版本,一下是安装过程截图)

cd /data/yum/Packages

rpm -ivh createrepo-0.9.9-28.el7.noarch.rpm python-deltarpm-3.6-3.el7.x86_64.rpm deltarpm-3.6-3.el7.x86_64.rpm
#这可以用  yum -y install createrepo 命令安装

生成repodata信息

createrepo /data/yum/Packages/

配置yum.repos.d(先将原有的进行重命名备份,在新建本地yum源的配置文件)

cd /etc/yum.repos.d/
rename .repo .repo.bak CentOS*
vim local.repo
[local_repo]
name=local_repository
baseurl=file:///data/yum/Packages
gpgcheck=0
enabled=1

第一行:yum仓库名字,任意。
第二行:详细名字,任意。
第三行:仓库路径。
baseurl为关键字
file:// 告诉yum为本地仓库
/henry_repo/Packages/ 为绝对路径
第四行:关闭rpm包的gpg校验功能。如果个人环境,建议关闭,参数值为0,如果生产环境,建议打开,参数值为1

1.清理yum缓存并重新加载

yum clean all
yum makecache
yum list

1.使用yum安装测试

yum install gcc

四、准备httpd

  • 通过http协议让其他主机可以访问本地yum源仓库

1.安装httpd

yum install httpd

2.修改默认访问目录

vim /etc/httpd/conf/httpd.conf

/data/yum/Packages

python搭建一个本地服务并开一个POST接口_服务器_03


3、重启httpd服务

systemctl restart httpd

五、实现局域网内其他主机通过该yum源进行安装软件

配置局域网内其他服务器访问刚刚搭建的本地yum源
配置yum.repos.d(先将原有的进行重命名备份,在新建本地yum源的配置文件)

cd /etc/yum.repos.d/

rename .repo .repo.bak CentOS*

vim local.repo

[local_repo]
name=local_repository
baseurl=http://yum源地址(刚刚配置的yum源服务器ip)
gpgcheck=0
enabled=1

第一行:yum仓库名字,任意。
第二行:详细名字,任意。
第三行:仓库路径。
baseurl为关键字
file:// 告诉yum为本地仓库
/henry_repo/Packages/ 为绝对路径
第四行:关闭rpm包的gpg校验功能。如果个人环境,建议关闭,参数值为0,如果生产环境,建议打开,参数值为1

yum clean all
yum makecache
yum list

使用yum安装测试

yum install gcc