CentOS7.6 局域网内搭建本地yum源
一、背景
客户机房服务器无法直连公网,远程通过堡垒机部署环境,因为机器比较多,最终选择通过安装自定义yum源进行部署。以下为自己部署yum源过程,以备后续使用。
二、准备yum源Packages
网上搜索安装大部分都是使用的镜像,安装包有限,本文使用自定义选择安装包的方式准备的yum源。首先准备一台和目标机器环境一样的可以连接公网的服务器进行yum源的准备。
1、先安装下载软件源所需工具:
yum install yum-utils -y
2、查看软件源列表
yum repolist
3、下载对应的库(一般来说只用下载base库就够了,当然也可以全部下载下来)
reposync -r base
reposync -r extras
reposync -r updates
三、创建本地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
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