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

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

  • CentOS7.6 局域网内搭建本地yum源
    • 一、背景
    • 二、准备yum源Packages
    • 三、创建本地yum源
    • 四、准备httpd
    • 五、实现局域网内其他主机通过该yum源进行安装软件
    • 六、参考文档:

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

一、背景

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

二、准备yum源Packages

  • 网上搜索安装大部分都是使用的镜像,安装包有限,本文使用自定义选择安装包的方式准备的yum源。首先准备一台和目标机器环境一样的可以连接公网的服务器进行yum源的准备。
  1. 先安装下载软件源所需工具:
yum install yum-utils -y
  1. 查看软件源列表
yum repolist

软件源列表

  1. 下载对应的库(一般来说只用下载base库就够了,当然也可以全部下载下来)
reposync -r base
reposync -r extras
reposync -r updates

CentOS7.6 局域网内搭建本地yum源_第1张图片

三、创建本地yum源

  • 上一步下载的包就是我们需要的yum源,将所有的yum源上传到目标机的文件夹中,后续安装的时候就会在该文件夹中选择rpm包。
  1. 创建文件夹用来存储所有的rpm包文件
mkdir -p /data/yum/Packages
  1. 将对应的rpm文件上传到Packages目录中
我是使用的WinSCP工具进行上传的,可以选择自己熟悉的方式
  1. 安装必要工具包:包拷贝完成之后需要构建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

在这里插入图片描述

  1. 生成repodata信息,
createrepo /data/yum/Packages/
  1. 配置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

CentOS7.6 局域网内搭建本地yum源_第2张图片

四、准备httpd

  • 通过http协议让其他主机可以访问本地yum源仓库
  1. 安装httpd
yum install httpd
  1. 修改默认访问目录
vim /etc/httpd/conf/httpd.conf
/data/yum/Packages

CentOS7.6 局域网内搭建本地yum源_第3张图片
3. 开启防火墙80端口

firewall-cmd --zone=public --add-port=80/tcp --permanent
  1. 重启防火墙
systemctl restart firewalld.service
  1. 修改SELinux 文件属性即修改文件的安全上下文(参考:SELinux 下网络服务设置:Apache)
chcon -R -t httpd_sys_content_t /data/yum/Packages
semanage fcontext -a -t httpd_sys_content_t "/data/yum/Packages(/.*)?"
restorecon -R -v /data/yum/Packages
  1. 重启httpd服务
systemctl restart httpd

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

  • 配置局域网内其他服务器访问刚刚搭建的本地yum源
  1. 配置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
  1. 清理yum缓存并重新加载
yum clean all
yum makecache
yum list
  1. 使用yum安装测试
yum install gcc

六、参考文档:

yum本地软件源下载与配置
如何手工搭建本地Yum仓库
搭建本地离线yum仓库
centos7上搭建http服务器以及设置目录访问
SELinux 下网络服务设置:Apache
-bash: semanage: command not found

你可能感兴趣的:(linux,linux,CentOS7,yum源,Apache)