本文的实验环境: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
作者:一名卑微的IT民工
出处:https://www.cnblogs.com/5201351
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
由于博主的水平不高,文章没有高度、深度和广度,只是凑字数,不足和错误之处在所难免,希望大家能够批评指出。
博主是利用读书、参考、引用、复制和粘贴等多种方式打造成自己的文章,请原谅博主成为一个卑微的IT民工!