Linux小項目/rhel-基於同步官網yum倉庫數據搭建本地yum伺服器
- 2020 年 10 月 31 日
- 筆記
- 二級標題-003-Linux綜合運維
本文的實驗環境: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>
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也可以寫成 //192.168.1.2/rhel-7-server-rhui-rpms
尊重別人的勞動成果 轉載請務必註明出處://www.cnblogs.com/5201351/p/13907018.html