博客园  :: 首页  :: 管理

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

 

简单说主要分为三步:

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

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

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

 

由于公司服务器都是在内网的、一般是不允许访问外网,在安全方面非常严格

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

当然安全策略即为,yum服务器,只能访问指定的官网地址,而内部服务器将yum源的url指向到搭建的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>

说明:关于options +indexes这个选项,不是必须的,没有也不会影响功能,只是为了方便前期测试

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