大家在進行linux作業系統學習及各種服務程式搭建的時候,往往會有安裝rpm包的需求。由于某些軟體包安裝有非常複雜的庫依賴關系,安裝起來非常不便。linux下yum服務就是專門處理此類依賴關系而發展出來的。yum還可以用來對現有軟體包進行更新,删除等等的操作指導。大家如果敢興趣,可以man慢慢看。這裡我先簡單的講講僅使用系統安裝CD光牒裡的rpm檔案來搭建yun倉庫。
yum倉庫的搭建,必須依賴于http或者ftp等網絡服務,我這裡僅按照ftp的方式來講述如何安裝yum倉庫,幹脆叫本地yum倉庫好了。
首先,我們使用Centos5.2自帶vsftpd軟體包來搭建ftp伺服器。具體步驟如下:
1、安裝vsftpd軟體包
如果我們這樣安裝,在最小化Linux系統按裝時會提示logrotate包依賴關系。是以我們需要确定logrotate包是否安裝。具體操作如下:
# rpm -qa|grep logrotate
如果已安裝,shell終端中會有相關提示
# rpm -qa|grep logrotate
logrotate-3.7.4-8
如果沒有安裝,則需要安裝此包
rpm -ivh logrotate-3.7.4-8.i386.rpm
rpm -ivh vsftpd-2.0.5-12.el5.i386.rpm
2、配置vsftpd
安裝完vsftpd之後,預設配置檔案可以提供預設pub檔案夾的匿名登入。我采取的方法就是将rpm包放在這個目錄下。需要注意一點的是Cent0S5.2預設開啟的selinux,如果要正常使用vsftpd匿名使用者,需要先關閉selinux服務。
# cat /etc/selinux/config
# This file controls the state of SELinux . the system.
# SELINUX= can take .e of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - .ly targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted
這樣,我們就關閉了selinux,大家需要了解,這樣安裝和配置vsftpd服務存在着非常明顯的安全隐患。
3、開始複制rpm檔案去相關目錄。大家應該已經非常了解相關的操作步驟,我這裡簡單的寫一下相關指令。
# mount /dev/cdrom /mnt/
# cd mnt/
# cp -rf CentOS/ /var/ftp/pub/
4、這一步,非常重要,我們需要安裝一個名叫createrepo的軟體包,并生成一個依賴檔案。具體操作如下
# cd /var/ftp/pub/CentOS
# rpm -ivh createrepo-0.4.11-3.el5.noarch.rpm
# createrepo .
# service vsftpd restart
createrepo指令需要執行一段時間。請耐心等待中...
5.現在修改yum的配置檔案,我們需要将本yum倉庫指定成軟體源,因為預設的配置檔案,尤其是CentOS本身就可以使用yum來連接配接網際網路上的yum資源,這樣比較費時費力,我們還是指定本地yum倉庫吧。
# cd /etc/yum.repos.d/
# ls
CentOS-Base.repo CentOS-Media.repo
# mv CentOS-Base.repo back
# cat CentOS-Media.repo
[rpm]
name=rpm
baseurl=ftp://172.16.4.203/pub/CentOS/
gpgcheck=0
enabled=1
6、至此,我們就可以使用yum自帶的各種指令來進行軟體包安裝了。
終于寫完了。中間幾次想放棄,因為本身這篇檔案技術含量并不高,切有些羅嗦,希望有時間,可以給大家講講如何在RHEL5.2下安裝Yum倉庫,因為RHEL企業版本身是不支援Yum更新的。呵呵。