差異處

這裏顯示兩個版本的差異處。

連向這個比對檢視

兩邊的前次修訂版 前次修改
下次修改
前次修改
tech:install_yum [2010/02/10 20:38] jonathantech:install_yum [2010/03/30 17:54] (目前版本) jonathan
行 1: 行 1:
 +====== 安裝 CentOS YUM 更版主機程序 ======
 +主要目標是要提供 CentOS 4.8 / CentOS 5.4 的更版主機
  
 +===== 同步 CentOS/RPMForge 來源 YUM Server =====
 +
 +<code sh>
 +su - root
 +yum install createrepo
 +mkdir -p /var/www/html/CentOS
 +
 +# 以下是同步 CentOS 官方網站 rsync 主機
 +rsync -aqzH --delay-updates --delete msync.centos.org::CentOS/4 /var/www/html/CentOS/
 +rsync -aqzH --delay-updates --delete msync.centos.org::CentOS/4.8 /var/www/html/CentOS/
 +rsync -aqzH --delay-updates --delete msync.centos.org::CentOS/5 /var/www/html/CentOS/
 +rsync -aqzH --delay-updates --delete msync.centos.org::CentOS/5.4 /var/www/html/CentOS/
 +
 +# 以下是同步 HiNet IDC 網站 rsync 主機
 +rsync -aqzH --delay-updates --delete mirror01.idc.hinet.net::CentOS/4 /var/www/html/CentOS/
 +rsync -aqzH --delay-updates --delete mirror01.idc.hinet.net::CentOS/4.8 /var/www/html/CentOS/
 +rsync -aqzH --delay-updates --delete mirror01.idc.hinet.net::CentOS/5 /var/www/html/CentOS/
 +rsync -aqzH --delay-updates --delete mirror01.idc.hinet.net::CentOS/5.4 /var/www/html/CentOS/
 +
 +# rpmforge 
 +mkdir -p /var/www/html/redhat
 +rsync -aqzH --delay-updates --delete rsync://apt.sw.be/pub/freshrpms/pub/dag/redhat/el4 /var/www/html/redhat/
 +rsync -aqzH --delay-updates --delete rsync://apt.sw.be/pub/freshrpms/pub/dag/redhat/el5 /var/www/html/redhat/
 +
 +</code>
 +====== 自定需求 Yum Server ======
 +
 +**如果只想依照自定需求來產生 rpm update 檔案, 可以將母機安裝好, 只要執行 yum update 時, 都將 rpm 保留下來, 將這些保留的 rpm 檔案提供給其他主機使用**, 這樣母機那台需要更改 /etc/yum.conf 內的 keepcache=1 <file>
 +:
 +[main]
 +cachedir=/var/cache/yum
 +keepcache=1
 +debuglevel=2
 +logfile=/var/log/yum.log
 +:
 +</file>
 +然後將 /var/cache/yum 當成 yum server 的 rpms 路徑, 產生 repo 資訊, 假設這台母機是安裝 CentOS 5 x86_64 只勾選 Server GUI 的預設套件, 所以建立相對應的目錄如下:<code sh>
 +su - root
 +mkdir -p /var/www/html/CentOS/5/addons/x86_64/RPMS
 +mkdir -p /var/www/html/CentOS/5/extras/x86_64/RPMS
 +mkdir -p /var/www/html/CentOS/5/base/x86_64/RPMS
 +mkdir -p /var/www/html/CentOS/5/updates/x86_64/RPMS
 +mkdir -p /var/www/html/CentOS/5/rpmforge/x86_64/RPMS
 +</code>
 +之後只要執行以下程序, 就可以保持更新與安裝下載的 rpm 檔案
 +<code sh>
 +yum update -y
 +rsync -av /var/cache/yum/addons/packages/ /var/www/html/CentOS/5/addons/x86_64/RPMS/
 +rsync -av /var/cache/yum/extras/packages/ /var/www/html/CentOS/5/extras/x86_64/RPMS/
 +rsync -av /var/cache/yum/base/packages/ /var/www/html/CentOS/5/base/x86_64/RPMS/
 +rsync -av /var/cache/yum/updates/packages/ /var/www/html/CentOS/5/updates/x86_64/RPMS/
 +rsync -av /var/cache/yum/rpmforge/packages/ /var/www/html/CentOS/5/rpmforge/x86_64/RPMS/
 +createrepo /var/www/html/CentOS/5/addons/x86_64
 +createrepo /var/www/html/CentOS/5/extras/x86_64
 +createrepo /var/www/html/CentOS/5/base/x86_64
 +createrepo /var/www/html/CentOS/5/updates/x86_64
 +createrepo /var/www/html/CentOS/5/rpmforge/x86_64
 +</code>
 +
 +
 +====== 特定需求 Yum Client ======
 +這台 Yum Client 一開始的安裝要和 Yum Server 內母機版本相同, 也就是範例的安裝 CentOS 5 x86_64 Server GUI 套件.
 +
 +**修改 yum conf 指定到 Yum Server (範例 192.168.122.1)**
 +<code sh>
 +mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.org
 +vi /etc/yum.repos.d/CentOS-Base.repo
 +</code>
 +<file>
 +[base]
 +name=CentOS-$releasever - Base
 +#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
 +baseurl=http://192.168.122.1/CentOS/$releasever/base/$basearch/
 +gpgcheck=1
 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
 +
 +#released updates
 +[updates]
 +name=CentOS-$releasever - Updates
 +#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
 +baseurl=http://192.168.122.1/CentOS/$releasever/updates/$basearch/
 +gpgcheck=1
 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
 +
 +#packages used/produced in the build but not released
 +[addons]
 +name=CentOS-$releasever - Addons
 +#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=addons
 +baseurl=http://192.168.122.1/CentOS/$releasever/addons/$basearch/
 +gpgcheck=1
 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
 +
 +#additional packages that may be useful
 +[extras]
 +name=CentOS-$releasever - Extras
 +#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
 +baseurl=http://192.168.122.1/CentOS/$releasever/extras/$basearch/
 +gpgcheck=1
 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
 +
 +#additional packages that extend functionality of existing packages
 +[centosplus]
 +name=CentOS-$releasever - Plus
 +#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
 +baseurl=http://192.168.122.1/CentOS/$releasever/centosplus/$basearch/
 +gpgcheck=1
 +enabled=0
 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
 +
 +#contrib - packages by Centos Users
 +[contrib]
 +name=CentOS-$releasever - Contrib
 +#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
 +baseurl=http://192.168.122.1/CentOS/$releasever/contrib/$basearch/
 +gpgcheck=1
 +enabled=0
 +
 +[rpmforge]
 +name = Red Hat Enterprise $releasever - RPMforge.net - dag
 +#baseurl = http://apt.sw.be/redhat/el5/en/$basearch/rpmforge
 +baseurl = http://192.168.122.1/CentOS/$releasever/rpmforge/$basearch/
 +#mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge
 +#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
 +enabled = 1
 +protect = 0
 +#gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
 +gpgcheck = 0
 +
 +</file>
 +
 +這樣在 Yum Client 執行<code sh>
 +yum update 
 +</code>就會直接連上 192.168.122.1 Yum Server 比對與下載更新 rpm 檔
 +
 +
 +===== 參考網頁網址 =====
 +  * http://www.centos.org/modules/tinycontent/index.php?id=22
 +  * http://www.info-artist.net/2009/06/yum-server-linux.html
 +  * http://linux.vbird.org/linux_server/0450apt.php
 +  * http://idobest.pixnet.net/blog/post/24193794
 +
 +{{tag>yum service install}}