以光碟機為源
為了避免從網路下載軟體包可能發生的軟體包不完整、下載速度慢、網路故障等問題,我們強烈建議您使用本地的 DVD/CD iso 來建立 yum 倉庫,這樣在安裝的時候速度快,而且可以保證所有軟體包都能順利安裝。
如果您有區域網路內的 yum 倉庫,可以直接使用它,就不需要按照以下的步驟重複建立了。
下面的操作都是在您安裝好 RHEL/CentOS 系統後進行的。
先從光碟片或已有的 YUM 倉庫安裝 createrepo 工具:
Shell 命令:
# rpm -ivh createrepo-x.y.z.rpm
createrepo 命令用於產生 yum 倉庫所必須的一些資訊,這些資訊都存放在 repodata/ 目錄底下,您開啟看看就會明白它做了些什麼事情。
使用 ISO 檔案製作 yum 倉庫
DVD ISO
如果你使用的是 DVD 光碟片,可以直接掛載光碟片,然後製作 yum 倉庫:
Shell 命令:
# mkdir /mnt/dvd/
# mount /dev/cdrom /mnt/dvd/
# cd /mnt
# createrepo .
如果您使用的是官方的 DVD ISO,則需要將它複製到系統上,掛載後製作 yum 倉庫:
Shell 命令:
# mkdir /mnt/dvd/
# mount -o loop /root/rhel5.1-dvd.iso /mnt/dvd
# cd /mnt
# createrepo .
CD ISO
如果您使用的是多個 CD iso 檔案,需要先複製到系統上,掛載後製作 yum 倉庫。
有幾個 ISO 就建立幾個目錄,並將對應的 ISO 掛載上去:
Shell 命令:
# mkdir -p /mnt/{1,2,3,4,5,6}
# mount -o loop rhel5.1-disc1.iso /mnt/1
# mount -o loop rhel5.1-disc2.iso /mnt/2
# mount -o loop rhel5.1-disc3.iso /mnt/3
# mount -o loop rhel5.1-disc4.iso /mnt/4
# mount -o loop rhel5.1-disc5.iso /mnt/5
建立 yum 倉庫:
Shell 命令:
# cd /mnt/
# createrepo .
定義 yum 倉庫
建立 yum 倉庫的定義檔案:/etc/yum.repos.d/dvdiso.repo,然後加入以下內容:
Shell 命令:
[DVDISO]
name=DVD ISO
baseurl=file:///mnt/
enabled=1
gpgcheck=0
測試 yum 倉庫
強烈建議執行 'yum clean all' 命令,將所有 yum metadata 等資訊清空,再重新擷取最新的倉庫資訊:
Shell 命令:
# yum clean all
# yum list
如果在 'yum list' 命令的輸出中能夠看到剛才製作的倉庫裡的軟體包的名字,那就是 OK 了。再試著安裝一個軟體包看是否成功:
Shell 命令:
# yum install cyrus-sasl.i386
如果是 x86_64 平台,則將後面的 i386 改為 x86_64:
Shell 命令:
# yum install cyrus-sasl.x86_64
如果安裝成功,表示 yum 倉庫和 RPM 包都沒問題。
以ftp伺服器為源
一. 準備工作
1. 啟動REDHAT Linux ,並放入安裝光碟片
2. 掛載光碟機 mount /dev/cdrom /mnt
3. 安裝FTP服務
cd /mnt/Server
rpm -ivh vsftpd*
chkconfig vsftpd on
service vsftpd start
4. 安裝createrepo軟體包
rpm –ivh createrepo*
5. 拷貝系統硬碟中的檔案到本系統中
cp -R /mnt/Server /var/ftp/pub
二. 搭建YUM
1. 產生依賴性關係
createrepo -g /var/ftp/pub/Server/repodata/comps-rhel5-server-core. xml /var/ftp/pub/Server/
這個地方要注意. comps-rhel5-server-core. xml一定不能手動產生. 預設安裝光碟片上已經有了
2. 做完上面的步驟後會有一個錯誤提示. “Could not remove old metadata dir: . olddata“說目錄有問題。不用管他. 把那個目錄刪除掉
rm –rf /var/ftp/pub/Server/. olddata
3. 把步驟1再做一遍
createrepo -g /var/ftp/pub/Server/repodata/comps-rhel5-server-core. xml /var/ftp/pub/Server/
4. 建立倉庫檔案
建立一個倉庫檔案. 名字可以隨便起.
cd /etc/yum.repos.d
vim yum. repo
在檔案中寫如下內容
[base]
name=base
#192. 168. 0. 6是你的YUM源地址
baseurl=ftp://192. 168. 0. 6/pub/Server
#是否開啟源
enabled=1
#是否驗證. 可不要
gpgcheck=1
#驗證的密鑰. 可不要
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
經過以上步驟後. 自己的YUM源就搭建好了。當然. 你可以把你的源提供給別人使用. 要使用的人只用將你的repo檔案複製一份到/etc/yum.repos.d/下. 或者自己手寫一份。如果還想做其他倉庫. 比如VT,Cluster,ClusterStorage,重複上面的步驟. 然後改改倉庫檔案就可以了。有了YUM. 以後再安裝軟體包就方便很多了. 不用考慮依賴性關係。
yum 用法
yum install 軟體名 /**//*下載安裝對應軟體包*/
yum info 軟體名 /**//*查看軟體包的詳細資料*/
yum list |grep kernel /**//*尋找kernel的軟體包*/
yum update firefox /**//*更新firefox*/
yum remove bmp-mp3 /**//*移除bmp-mp3*/
man yum /**//*yum命令詳細資料查看*/
yum 檔案的配置路徑為 /etc/yum.conf#0表示不儲存下載的檔案,1表示儲存下載的檔案,預設為不儲存keepcache=0#指定下載檔案的儲存路徑,檔案儲存在 分類目錄/packages/ 中cachedir=/var/cache/yum