星期四, 9月 22, 2016

自己的Yum Server 自己架 (CentOS 7)

突然有種自己的文章一直在歪樓的感覺 XD

因為工作需要,使用的設備也一一更新到CentOS 7.2之後,發現每台機器都要連到網路上去做更新實在是非常浪費頻寬且不便於管理,於是便興起了自己架設Yum Server的念頭。
整個過程可以說是非常的簡單,沒有什麼特別複雜的部份,稍微紀錄一下這幾個簡單的步驟。

一、伺服器端
1.安裝CentOS 7
這部份選擇預設的最小安裝即可。
空間的部份,我一開始是劃分30GB,但沒想到光是CentOS 7就佔了27GB,這部份就依個人需求調整吧。
2.安裝必要的套件
yum install httpd yum-arch createrepo  -y
如果找不到yum-arch 可以透過下列連結下載
yum install wget -y
wget ftp://rpmfind.net/linux/epel/6/ppc64/yum-arch-2.2.2-9.el6.noarch.rpm
rpm -ivh yum-arch-2.2.2-9.el6.noarch.rpm
 3.準備好要存放檔案的資料夾
mkdir -p /var/www/html/yum/centos/7/os/x86_64
mkdir -p /var/www/html/yum/centos/7/updates/x86_64
mkdir -p /var/www/html/yum/centos/7/extras/x86_64
 4.同步網路上的來源 (可以選擇使用mirrordir或是rsync)
由於看到有鄉民說他使用mirrordir有同步上的問題,所以我就直接使用rysnc(沒有實際測試)
其中同步的來源請自行挑選


rsync -aqzH --delete centos.cs.nctu.edu.tw::CentOS/7.2.1511/os/x86_64 /var/www/html/yum/centos/7/os

rsync -aqzH --delete centos.cs.nctu.edu.tw::CentOS/7.2.1511/updates/x86_64 /var/www/html/yum/centos/7/updates

rsync -aqzH --delete centos.cs.nctu.edu.tw::CentOS/7.2.1511/extras/x86_64 /var/www/html/yum/centos/7/extras
5.yum arch 分析下載好的RPM套件
yum-arch /var/www/html/yum/centos/7/os/x86_64
yum-arch /var/www/html/yum/centos/7/updates/x86_64
yum-arch /var/www/html/yum/centos/7/extras/x86_64
 6.產生XML Metadata
createrepo /var/www/html/yum/centos/7/os/x86_64
createrepo /var/www/html/yum/centos/7/updates/x86_64
createrepo /var/www/html/yum/centos/7/extras/x86_64
 7.啟用網站服務,並在防火牆中允許80 PORT
chkconfig httpd on
systemctl start httpd
firewall-cmd --permanent --zone=public --add-port=80/tcp
firewall-cmd --reload
8.把上述4 ~ 6的步驟寫成sh 並排程自動更新

 二、使用端
1.修改Client端的更新來源
vi /etc/yum.repo/CentOS-Base.repo
把原本的mirror list 跟baseurl 註解 加入伺服器的來源,請把ip自行替
[base]
baseurl=http://192.168.1.168/yum/centos/$releasever/os/$basearch/
gpgkey=http://192.168.1.168/yum/centos/$releasever/os/$basearch/RPM-GPG-KEY-CentOS-7

[updates]
baseurl=http://192.168.1.168/yum/centos/$releasever/updates/$basearch/
gpgkey=http://192.168.1.168/yum/centos/$releasever/os/$basearch/RPM-GPG-KEY-CentOS-7

[extras]
baseurl=http://192.168.1.168/yum/centos/$releasever/extras/$basearch/
gpgkey=http://192.168.1.168/yum/centos/$releasever/os/$basearch/RPM-GPG-KEY-CentOS-7

Reference
自建 YUM Server (CentOS 6.4)
Yum Server For Centos 7
CentOS Linux 6.8

1 則留言:

test 提到...

版主你好,好奇全部抓完佔了多少硬碟空間?

似乎要上百GB...XDD