Yum Server For Centos 7
0. introduction
假設公司內有很多CentOS系統主機,如果每台都是對外更新套件時,公司的網路頻寬就會很忙碌
何況更新的站台不一定是速度最快的,有人會說那用光碟更新啊,但光碟內的套件也不一定是最新版的
所以,有什麼方法可以讓更新速度最快、套件最新
你可以自行架設線上更新伺服器
第一,區域網路的速度一定是最快的
第二,由線上更新伺服器將套件下載一份最新版本,每一台CentOS主機再對線上更新伺服器更新的話
不僅節省公司對外頻寬,也可以永久保證套件是最新的。
1. install mirrordir
mirrordir - 同步目錄及檔案的程式,在備份時非常好用
wget http://pkgs.repoforge.org/mirrordir/mirrordir-0.10.49-1.2.el7.rf.x86_64.rpm
wget http://pkgs.repoforge.org/mirrordir/mirrordir-devel-0.10.49-1.2.el7.rf.x86_64.rpm
rpm -ivh mirrordir*
2. install yum-arch
yum-arch - 分析 RPM 套件的 header
只要經過這個步驟, yum 就會自動在 指定的目錄底下
新增 一個名為 headers 的目錄,並將分析的 RPM 紀錄資料都放置在裡面
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. install createrepo
createrepo - 建立索引檔,可以使用yum線上更新方式下載安裝
yum install createrepo -y
4. install Apache
yum install httpd -y
service httpd start
chkconfig httpd on
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
service iptables restart
5. create directory
# 目錄名稱調整一下 (還沒改)
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
6. mirror rpm
mirrordir -v ftp://ftp.nsysu.edu.tw//Unix-like/CentOS/6.0/os/x86_64 /var/www/html/yum/centos/6/os/x86_64
mirrordir -v ftp://ftp.nsysu.edu.tw/Unix-like/CentOS/6.0/updates/x86_64 var/www/html/yum/centos/6/updates/x86_64
mirrordir -v ftp://ftp.nsysu.edu.tw/Unix-like/CentOS/6.0/extras/x86_64 /var/www/html/yum/centos/6/extras/x86_64
mirrordir -v http://140.92.26.52/mirror/CentOS/7.1.1503/os/x86_64/ /var/www/html/yum/centos/7/os/x86_64
mirrordir -v http://140.92.26.52/mirror/CentOS/7.1.1503/updates/x86_64/ /var/www/html/yum/centos/7/updates/x86_64
mirrordir -v http://140.92.26.52/mirror/CentOS/7.1.1503/extras/x86_64/ /var/www/html/yum/centos/7/extras/x86_64
7. check rpm
使用yum-arch分析 RPM 套件的 header
依序分析os、updates、extras三個目錄
此套件版本不符合CentOS 6.0作業系統就會發生錯誤。
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
yum-arch /var/www/html/yum/centos/7.1.1503/os/x86_64/
yum-arch /var/www/html/yum/centos/7.1.1503/updates/x86_64
yum-arch /var/www/html/yum/centos/7.1.1503/extras/x86_64
8. create XML metadata
createrepo 套件產生 XML metadata
在目錄下產生 repodata 資料夾,依序分析os、updates、extras三個目錄。
createrepo /var/www/html/yum/centos/6/os/x86_64
createrepo /var/www/html/yum/centos/6/updates/x86_64
createrepo /var/www/html/yum/centos/6/extras/x86_64
createrepo /var/www/html/yum/centos/7.1.1503/os/x86_64
createrepo /var/www/html/yum/centos/7.1.1503/updates/x86_64
createrepo /var/www/html/yum/centos/7.1.1503/extras/x86_64
9. Ready to Go
線上更新伺服器設定完畢後,接下來就是修改用戶端的 repo
將base、updates、extras三個目錄的mirrorlist加上#,然後修改baseurl路徑
cd /etc/yum.repos.d
cp CentOS-Base.repo CentOS-Base.repo.old
vi CentOS-Base.repo
...
baseurl=http://140.92.26.231/yum/centos/7.1.1503/os/x86_64/
...
baseurl=http://140.92.26.231/yum/centos/7.1.1503/updates/x86_64/
...
baseurl=http://140.92.26.231/yum/centos/7.1.1503/extras/x86_64/
...
baseurl=http://140.92.26.231/yum/epel/7/x86_64/
page revision: 21, 最後編輯於: 22 Jun 2015 02:32