實驗環境介紹
使用Vmware Workstation建立兩台虛擬機器,安裝CentOS release 6.4 (Final) x86_64
兩台主機的iptables與SELinux都已經關閉了
CentOS1 計劃安裝YUM資料倉儲 IP為192.168.80.3
CentOS2 計劃充當用戶端 IP為192.168.80.4
通過光碟片,搭建本地yum伺服器
本次實驗計劃通過vsftp來充當YUM資料倉儲,需要預裝如下軟體:
vsftp, ftp, createrepo
以上軟體我們先通過掛載光碟片,搭建本地源的方式,來安裝
1.掛載光碟片
# mount /dev/cdrom /media/
mount: block device /dev/sr0 is write-protected, mounting read-only
2.檢查是否掛載成功
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
18G 2.0G 15G 13% /
tmpfs 495M 0 495M 0% /dev/shm
/dev/sda1 485M 33M 427M 8% /boot
/dev/sr0 4.1G 4.1G 0 100% /media
/media 已經掛載上來了
3.確認repomd.xml的路徑
# find /media/ -name repomd.xml
/media/repodata/repomd.xml
YUM需要讀取軟體依賴關係檔案repomd.xml
但不同光碟片,這個檔案的置位置可能並不一樣,比如我手上另一個rhel的光碟片鏡像
# mount -o loop rhel-server-5.4-i386-dvd.iso /mnt
# find /mnt/ -name repomd.xml
/mnt/Cluster/repodata/repomd.xml
/mnt/ClusterStorage/repodata/repomd.xml
/mnt/Server/repodata/repomd.xml
/mnt/VT/repodata/repomd.xml
可以看到,/mnt目錄下面,並沒有/repodata目錄,如果我們在下面配置YUM用戶端時,直接指定資料倉儲的路徑為/mnt時就會出錯,為了以防萬一我們先確認該檔案所在位置.
4.備份repo檔案
# cd /etc/yum.repos.d/
# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
# rename repo repo.bak *
# ls
CentOS-Base.repo.bak CentOS-Debuginfo.repo.bak CentOS-Media.repo.bak CentOS-Vault.repo.bak
5.建立新的YUM用戶端設定檔CentOS-Local.repo
我們可以使用 CentOS-Debuginfo.repo.bak 檔案來做一個模板
# cp -a CentOS-Debuginfo.repo.bak CentOS-Local.repo
# vi /etc/yum.repos.d/CentOS-Local.repo
[local]
name=CentOS-6 - Localinfo
baseurl=file:///media
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enabled=1