系統環境:
[root@yumserver ~]cat /etc/redhat-release #==》系統版本 CentOS Linux release 7.5.1804 (Core) [root@yumserver ~]uname –r #==》內核版本 3.10.0-862.el7.x86_64 [root@yumserver ~] uname -m #==》系統架構 x86_64 [root@yumserver ~]echo $LANG #==》系統字符集 en_US.UTF-8
實驗環境:
Yum源倉庫服務器IP地址 10.10.10.20 CentOS 7.5 Yum源測試客戶端IP地址 10.10.10.21 CentOS 7.5
說明:
搭建內部yum源倉庫有許多種類,例如file、ftp、http、https,本教程以http進行搭建內部yum源倉庫
一、添加阿里雲yum源並檢查
mv /etc/yum.repos.d/ /tmp/yum/ curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo yum makecache yum repolist
二、安裝相關軟件
yum install -y wget make cmake gcc gcc-c++ pcre-devel zlib-devel openssl openssl-devel httpd yum-utils createrepo 標注: yum-utils:reposync同步工具 createrepo:編輯yum庫工具 httpd:通過Apache軟件提供web服務,也可以使用nginx
三、同步阿里雲yum源軟件包到本地服務器指定目錄/mirror(自定義目錄)
mkdir -p /mirror chown -R apache:apache /mirror chmod -R 755 /mirror ###參數-n指下載最新軟件包,-p指定目錄,指定本地的源--repoid(如果不指定就同步本地服務器所有的源),下載過程比較久 reposync -n --repoid=extras --repoid=updates --repoid=base --repoid=epel -p /mirror [root@yumserver ~]# du -sh /mirror/* 9.0G /mirror/base 16G /mirror/epel 321M /mirror/extras 2.2G /mirror/updates
四、創建倉庫索引
createrepo -po /mirror/base/ /mirror/base/ createrepo -po /mirror/extras/ /mirror/extras/ createrepo -po /mirror/updates/ /mirror/updates/ createrepo -po /mirror/epel/ /mirror/epel/ 問題:如果創建倉庫索引提示如下錯誤 Worker 0: Error: Could not open local rpm file: /mirror/epel//Packages/p/python2-pycryptodomex-3.9.7-1.el7.x86_64.rpm: RPM Error opening Package 解決辦法:提示哪個軟件包打開錯誤就刪除哪個軟件包 rm -rf /mirror/epel//Packages/p/python2-pycryptodomex-3.9.7-1.el7.x86_64.rpm
五、更新數據源
createrepo --update /mirror/base/ createrepo --update /mirror/extras/ createrepo --update /mirror/updates/ createrepo --update /mirror/epel/
六、啟動並配置Apache服務
systemctl start httpd
systemctl enable httpd
systemctl status httpd
[root@yumserver ~]# vim /etc/httpd/conf/httpd.conf
DocumentRoot "/mirror/"
<Directory "/mirror/">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
Require all granted
</Directory>
###修改Apache默認首頁index.html,直接復制粘貼執行
cat << EOF > /usr/share/httpd/noindex/index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CentOS 7 鏡像</title>
<script>document.createElement("myHero")</script>
<style>
myHero {
display: block;
background-color: #ddd;
padding: 10px;
font-size: 20px;
}
</style>
</head>
<body>
<h1>簡介</h1>
<hr>
<p>CentOS,是基於 Red Hat Linux 提供的可自由使用源代碼的企業級 Linux 發行版本,是一個穩定,可預測,可管理和可復制的免費企業級計算平台。</p>
<hr>
<br>
<br>
<h1>CentOS 7 配置內部YUM源</h1>
<br>
<h2>1、備份</h2>
<myHero>mv /etc/yum.repos.d/* /opt/yum/</myHero>
<br>
<h2>2、下載新的 CentOS-Base.repo 到 /etc/yum.repos.d/ </h2>
<myHero>curl -o /etc/yum.repos.d/CentOS-Base.repo http://10.10.10.20/repo/CentOS-Base.repo</myHero>
<br>
<h2>3、運行 yum makecache 生成緩存</h2>
<br>
<h2>4、運行 yum repolist 查看已經生成緩存</h2>
<br>
<br>
</body>
</html>
EOF
七、編寫yum源客戶端配置文件
[root@yumserver ~]# mkdir -p /mirror/repo/
###直接復制粘貼執行 cat << EOF > /mirror/repo/CentOS-Base.repo [base] name=CentOS-$releasever - Base - 10.10.10.20 failovermethod=priority baseurl=http://10.10.10.20/base/ enable=1 gpgcheck=0 #released updates [updates] name=CentOS-$releasever - Updates - 10.10.10.20 failovermethod=priority baseurl=http://10.10.10.20/updates/ enable=1 gpgcheck=0 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras - 10.10.10.20 failovermethod=priority baseurl=http://10.10.10.20/extras/ enable=1 gpgcheck=0 #additional packages that may be useful [epel] name=CentOS-$releasever - Epel - 10.10.10.20 failovermethod=priority baseurl=http://10.10.10.20/epel/ enable=1 gpgcheck=0 EOF
八、客戶端配置Yum源 ===>>>希望對你所幫助,博主很窮,當前頁面右邊點開打賞,你的支持是我無限的動力~!
curl -o /etc/yum.repos.d/CentOS-Base.repo http://10.10.10.20/repo/CentOS-Base.repo yum makecache
客戶端瀏覽網頁http://10.10.10.20首頁提示如何配置

原文地址:https://www.cnblogs.com/zoulongbin/p/5773330.html 好文收藏,做了一些補充
