本文的实验环境: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