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

Linux小项目/rhel-基于同步官网yum仓库数据搭建本地yum服务器的更多相关文章

  1. 搭建本地yum源并定时同步

    在生产中内网的机器都是不能访问外网,所以需要搭建本地yum源.以中国科学科技大学的yum源为基准.http://mirrors.ustc.edu.cn/ 有些模块会同步失败,可以wget下载至指定位置 ...

  2. 在linux上搭建本地yum源

    准备yum仓库的光盘镜像IOS文件: 设置光驱加载本地磁盘的yum仓库的光盘镜像文件: 在linux的命令行输入setup命令打开设置窗口,选择"System Service": ...

  3. Linux Centos7 离线安装docker 【官网翻译和注释】

    Centos7的Docker安装 需要一个维护版本的centos7,所以6不行. 卸载旧版本 旧版本的docker被称为 docker or docker-engine 如果存在请删除它们. sudo ...

  4. 一个让我很不爽的外包项目——奔驰Smart2015新官网

    七月份的下半个月,有幸做了奔驰 Smart 2015年新官网,包括手机端和PC端的宣传页,地址: PC端 手机端 这里,为了证明这个是一个事实,我还特意的留存了两张截图: 这里只想说明这么几个问题: ...

  5. 编写 python 小程序,将LOL官网的皮肤保存下来,上传百度云,记录那些强撸灰飞烟灭的日子

    to 撸的血泪史:大学四年几乎都在宿舍打撸,So,把官网的皮肤都保存下来,存到百度云,就当一种纪念 编辑器:pycharm 用到的包:urllib.request, requests, json, r ...

  6. linux下pip安装无法连接官网

    为了安装pwntools等工具,要先安装pip,系统安装好了,却遇到了无法连接到pip官网的报错,找了半天方法最终解决 wget https://bootstrap.pypa.io/get-pip.p ...

  7. 基于koa模块和socket.io模块搭建的node服务器实现通过jwt 验证来渲染列表、私聊、群聊功能

    1. 具体代码在需要的下载 https://gitee.com/zyqwasd/socket 效果: 2. package.json文件 1. 下载基本的模块  修改了start 脚本  nodemo ...

  8. CentOS7搭建本地YUM仓库,并定期同步阿里云源

    CentOS7同步阿里云镜像rpm包并自建本地yum仓库 系统环境 # cat /etc/centos-release CentOS Linux release 7.6.1810 (Core) # u ...

  9. Linux虚拟机搭建本地yum源

    Yum本地源的配置 本教程是在虚拟机里安装Red Hat Enterprise Linux 7 ,以其为例使用iso文件进行Yum本地源的配置.所使用的软件如下: (1)虚拟机:Vmware work ...

随机推荐

  1. 【Processing-日常3】等待动画1

    之前在CSDN上发表过: https://blog.csdn.net/fddxsyf123/article/details/79755976

  2. 转载:Win7系统 利用 pycharm导入Tensorflow失败,出现报错——ImportError:DLL load failed with error code -1073741795的解决方式

    转载自:https://blog.csdn.net/shen123me/article/details/80621103 下面的报错信息困扰了一天,网上的各种方法也都试过了,还是失败,最后自己瞎试,把 ...

  3. Presto 标量函数注册和调用过程简述

    在Presto 函数开发一文中已经介绍过如何进行函数开发,本文主要讲述标量函数(Scalar Function)实现之后,是如何在Presto内部进行注册和被调用的.主要讲述标量函数是因为:三类函数的 ...

  4. Python-信号量和线程池-semaphore ThreadPollExector

    信号量 其实本质上是锁,Lock是单锁,信号量是指定多把锁,也就是说通过信号量指定多个数线程可以访问相同资源,一般情况下读操作可以有多个,但写操作同时只有一个 信号量模块 semaphore # 使用 ...

  5. Go-变量-var

    什么是变量? 一种抽象,计算机用来保存现实数据的容器,通过这个变量抽象可以写入现实数据到计算机中,并且可以读取变量取到保存到计算机中的现实数字化数据 Go-变量定义 关键字 var 关键符号 := i ...

  6. Docker系列——利用gogs搭建属于自己的git服务

    gogs简介 Gogs的目标是打造一个最简单.最快速和最轻松的方式搭建自助Git服务.使用Go语言开发使得Gogs能够通过独立的二进制分发,并且支持Go语言支持的所有平台,包括 Linux.Mac O ...

  7. 模型集成model ensemble

    A prediction model that is composed of a set of models is called a model ensemble. Baggging 和Boostin ...

  8. 未能找到元素“appender”的架构信息

    在App.config写入log4net的配置信息,然后错误列表就出现了一堆的消息提示. 未能找到元素"appender-ref"的架构信息 未能找到元素"appende ...

  9. MATLAB中exist函数的用法

    exist:exist主要有两种形式,一个参数和两个参数的,作用都是用于确定某值是否存在:1. b = exist( a)      若 a 存在,则 b = 1: 否则 b = 0:2. b = e ...

  10. STM32之旅5——IWDG

    STM32之旅5--IWDG stm32有两个看门狗,一个独立看门狗(IWDG).一个窗口看门狗(WWDG):独立看门狗是时钟源是内部的40kHz的低速时钟,即使主频出问题了,独立看门狗也不会受到影响 ...