Linux小项目/rhel-基于同步官网yum仓库数据搭建本地yum服务器

本文的实验环境:aws上的Redhat 7.x , 同样也适用于Centos 7.x

简单说主要分为三步:

(1) 向官网同步yum数据,可以根据具体情况,创建脚本及配置周期例行任务 

(2) 搭建web服务器,通过配置,允许指定的服务器进行访问 

(3) 客户端配置,配置一个指向到yum服务器的url即可 

由于公司服务器都是在内网的、一般是不允许访问外面

因此要解决内网rhel 系统的补丁及升级问题,就需要在公司搭建一台本地yum服务器,数据则需要向官网同步

当然安全策略即为,yum服务器,只能访问指定的官网地址,而内部服务器将yum源配置到搭建的yum服务器即可

下面记录一下方法,本文主要针对HK项目aws上的redhat 7.x 系统

1、首先需要在yum服务器上安装createrepo,这个主要用于后期创建仓库源数据等信息

 [root@qq_5201351 ~]# yum install createrepo -y

2、创建一个存放脚本的目录,及脚本文件

[root@qq_5201351 ~]# mkdir -p /server/scripts/yum_related/
[root@qq_5201351 ~]# touch /server/scripts/yum_related/yum_repository_sync.sh

3、脚本文件,以后用于向官网同步数据的,当然后续还需要得根据实际情况,结合周期例行一起使用,脚本内容如下:

#!/bin/bash
#
#############################################################
#Author:QQ,5201351 #
#Blog:https://www.cnblogs.com/5201351 #
#Date:2020-10-31 #
#Script Version:1.0 #
#Supported OS: Cenots/rhel 6.x/7.x #
#Description: yum_repository_sync_from_Official_website #
#############################################################
# date=$(date +%Y%m%d-%H%M%S)
scriptdir=$(dirname $0) cd $scriptdir && mkdir -p log
logfile=$(pwd)/log/yum_repository_sync.log yum clean all ; yum makecache if [ $? -ne 0 ];then
echo "${date}: Error,Please check if yum of this machine is available" | tee -a $logfile
else
reposync --repoid=rhel-7-server-rhui-rpms --downloadcomps -l -n -p /patch/rhel7/
cd /patch/rhel7/rhel-7-server-rhui-rpms/ && createrepo -v /patch/rhel7/rhel-7-server-rhui-rpms/ -g comps.xml
find /patch -type d -exec chmod o+x {} \;
chmod -R o+r /patch && touch yum_repository_sync.log
echo "${date}: Success,yum_repository synchronized" | tee -a $logfile
fi

说明:关于-g comps.xml 不写也会创建这个文件的,基本也可用,只是不会创建软件包组索引元数据

4、安装apache服务器(httpd),为yum创建相应的web配置文件,/etc/httpd/conf.d/local_yum_server.conf

alias /rhel-7-x86_64 /patch/rhel7/rhel-7-server-rhui-rpms

<VirtualHost *:80>
DocumentRoot "/patch/rhel7/"
</VirtualHost> <directory "/patch/rhel7/">
options +indexes
Require all granted
</directory>

5、然后运行上面的脚本及重启httpd服务,客户端的核心配置如下:

[Internal-yum-rhel-client]
name=Red Hat Enterprise Linux AWS Local reposerver
baseurl=http://192.168.1.2/rhel-7-x86_64
enabled=1
gpgcheck=0
gpgkey=http://192.168.1.2/RPM-GPG-KEY-redhat-release

说明:关于gpgkey的文件,需要在自己手动放到站点的根下,还有上面的url也可以写成 http://192.168.1.2/rhel-7-server-rhui-rpms

尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/13907018.html

上一篇:在Windows中配置Rsync同步


下一篇:qt +ChartDirector 绘制图表