生产内网Centos利用nginx部署局域网yum源,按需采集同步rpm依赖

2 篇文章 0 订阅
1 篇文章 0 订阅

问题:离线的生产环境没有yum源可用,或者yum源老旧无法更新 。

思路:在个人电脑安装一个最小化的环境,用yum把包和依赖保存到本地,然后再迁移到内网,在内网利用nginx搭建局域网yum源。

本文以centos7.3为例

一、在本地准备环境安装minimal版本

minimal版本只有必要的软件,自带的软件最少。可以说是最缺依赖的版本了。建议在本地用虚拟机搭建,搭建和网络配置不赘述了,可参考我其他帖子【VMware player安装centos8】【centos7 虚拟机最小化安装后网络配置】

 

二、保存yum涉及的所有rpm包和依赖

国内换源快速命令:

wget -P /etc/yum.repos.d http://mirrors.163.com/.help/CentOS7-Base-163.repo

修改yum的配置,把yum涉及的所有rpm包都保存下来。

vi /etc/yum.conf,修改keepcache的值为1。也可以修改cachedir,rpm包保存的路径。

 

 

三、在生产环境搭建本地yum仓库

创建本地yum仓库需要createrepo命令。

在本地输入sudo yum install createrepo ,我们可以看到大概需要以下几个包。

本地安装完之后,去rpm包缓存路径找到相应的安装包。上传到生产环境同一个目录中,然后批量安装:

rpm -Uvh --force --nodeps *rpm

生产环境有createrepo了命令,就可以创建本地yum仓库了。

使用:createrepo /路径A,可以在路径A创建yum仓库。

在后续使用过程中有包删除、增加、更新,

服务端执行:createrepo --update /路径A,

客户端执行:yum clean all 

 

四、利用nginx搭建http局域网服务端

个人比较喜欢使用docker部署nginx。首先在centos部署docker基础环境【传送门】

然后,拉取nginx镜像:docker pull nginx:1.19.0(建议要指定版本,方便后续运维,具体版本根据个人喜好)

可以使用docker-compose【docker-compose安装】运行nginx,参考docker-compose.yml如下:

version: '3'
services:
  nginx-yum:
    restart: always
    image: nginx:1.19.0
    ports:
    - 7080:80
    - 7443:443
    volumes:
    - /app/nginx-yum/conf:/etc/nginx
    - /app/ngin-yum/logs:/var/log/nginx
    - /app/nginx-yum/html:/usr/share/nginx/html  # 注意要把静态文件挂载出来

运行成功后,把静态文件挂载的目录运行createrepo设置为yum仓库。

设置完后可以通过curl命令测试nginx是否正常运行。

 

五、客户端设置

局域网内的客户端在/etc/yum.repos.d目录下配置自己的repo文件,即可使用服务端。参考:

# yf-yum.repo
#
# email:		XXX@qq.com
# version:		1.0
# yfyumaddr:	cat /etc/yum/vars/yfyumaddr
#

[yf-base]
name=CentOS-$releasever - Base - yf
baseurl=http://$yfyumaddr/$basearch/$releasever/base
enabled=1   
gpgcheck=0

在YUM源配置文件repo中,是支持使用变量的,常用的几个变量:
$releasever:系统版本号(大版本号),如CentOS7.3变量显示为7
$basearch:硬件架构,变量值有”i386″, “x86_64”

除了有这些默认变量外,我们还可以自定义变量。
在/etc/yum/vars/目录下创建文件,在文件中设置变量值即完成了变量的设定。
如创建一个内容是局域网服务器地址的文件yfyumaddr
#cd /etc/yum/vars
#echo 'ipaddr:port' > yfyumaddr

最后配置完之后记得yum search 验证。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值