構建本地YUM源伺服器
如何構建本地源
通過從 DVD 光碟、YUM 客戶端緩存目錄(/var/cache/yum/)以及 Internet 下載等途徑獲取需
要的 rpm 包,可以組建基於本地文件系統的 rpm 軟體包倉庫.進一步結合使用 HTTP 或 FTP 協議
的服務軟體,即可構建一個位於本地區域網的高速 YUM"源"伺服器.
本例中使用 RHEL5 安裝光碟(DVD)中的軟體包組成軟體倉庫,並結合 VSFTPD 服務,提
供基於 FTP 方式的簡易 YUM 源.實現的主要步驟如下.
1. 安裝 vsftpd、createrepo 軟體包
createrepo 工具主要用於收集目錄中 rpm 包文件的頭信息,以創建 repodata 軟體倉庫數
據(經 gzip 壓縮的 xml 文件).
[root@yumserver ~]# mkdir -p /media/cdrom
[root@yumserver ~]# mount /dev/cdrom /media/cdrom
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@yumserver ~]# cd /media/cdrom/Server/
[root@yumserver Server]# rpm -ivh createrepo-0.4.4-2.fc6.noarch.rpm
vsftpd-2.0.5-10.el5.i386.rpm
warning: createrepo-0.4.4-2.fc6.noarch.rpm: Header V3 DSA signature: NOKEY, key ID
37017186
Preparing...########################################### [100%]
1:vsftpd########################################### [ 50%]
2:createrepo########################################### [100%]
2. 準備軟體庫目錄
注意要保證/var/ftp/rhel5 目錄有足夠的可用空間(在本例中最好大於 3GB),以便存放復
制的軟體包.必要時可以使用單獨的硬碟分區(掛載到/var/ftp/rhel5 目錄中).
[root@yumserver Server]# mkdir -p /var/ftp/rhel5/
[root@yumserver Server]# cp -prf /media/cdrom/* /var/ftp/rhel5/
軟體包的幾個文件夾).
[root@yumserver Server]# ls -lh /var/ftp/rhel5/ | grep ^d
drwxr-xr-x 3 root root 6.0K 2007-03-18 Cluster
drwxr-xr-x 3 root root 6.0K 2007-03-18 ClusterStorage
drwxr-xr-x 4 root root 2.0K 2007-03-18 images
drwxr-xr-x 2 root root 2.0K 2007-03-18 isolinux
drwxr-xr-x 3 root root 330K 2007-03-18 Server
drwxr-xr-x 3 root root 6.0K 2007-03-18 VT
3. 創建 repository 倉庫信息文件
在各個軟體包目錄中分別執行 createrepo 命令,生成當前目錄下的 repodata 數據.使用
-g 選項可以指定用於創建組信息的 xml 文件模板.
[root@yumserver ~]# cd /var/ftp/rhel5/Cluster/
[root@yumserver Cluster]# createrepo -g repodata/comps-rhel5-cluster.xml ./
[root@yumserver Cluster]# cd /var/ftp/rhel5/ClusterStorage/
[root@yumserver ClusterStorage]# createrepo -g repodata/comps-rhel5-cluster-st.xml ./
[root@yumserver ClusterStorage]# cd /var/ftp/rhel5/Server/
[root@yumserver Server]# createrepo -g repodata/comps-rhel5-server-core.xml ./
[root@yumserver Server]# cd /var/ftp/rhel5/VT/
[root@yumserver VT]# createrepo -g repodata/comps-rhel5-vt.xml ./
[root@yumserver VT]# rm -rf /var/ftp/rhel5/*/.olddata/ //清除舊的數據文件
4. 配置啟動 vsftpd 服務(開啟默認的匿名 FTP 服務即可)
[root@yumserver ~]# chkconfig --level 2345 vsftpd on
[root@yumserver ~]# service vsftpd start
若 FTP 服務無法訪問,請參考以下配置重新啟動 vsftpd 服務:
[root@yumserver ~]# vi /etc/vsftpd/vsftpd.conf
anonymous_enable=yes
local_enable=NO
write_enable=no
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
1.3 使用 yum 工具安裝軟體
最常用的 YUM 客戶端工具是字元模式下的 yum 命令,在 RHEL5 系統中由默認安裝的
yum-3.0.1-5.el5 軟體包提供.RHEL5 系統還提供了一個圖形 YUM 工具 pirut,該工具只是 yum 工
具的一個 X 圖形前端.
1.3.1 設置 YUM 源位置
使用 YUM 源伺服器之前,必須為客戶端建立指定的配置文件,設置好源伺服器的位置和可用
目錄等選項.
[root@client ~]# cd /etc/yum.repos.d/
[root@client yum.repos.d]# vi rhel5-pkgs-yumsvr.repo
[Cluster]
name=Cluster Directory
baseurl=ftp://192.168.0.11/rhel5/Cluster
enabled=1
gpgcheck=0
[ClusterStorage]
//啟用該目錄
//不檢查 gpg key
//新建配置文件,名稱自定
name=ClusterStorage Directory
baseurl=ftp://192.168.0.11/rhel5/ClusterStorage
enabled=1
gpgcheck=0
[Server]
name=Server Directory
baseurl=ftp://192.168.0.11/rhel5/Server
enabled=1
gpgcheck=0
[VT]
name=VT Directory
baseurl=ftp://192.168.0.11/rhel5/VT
enabled=1
gpgcheck=0
[root@client yum.repos.d]# yum clean all
//更新緩存
1.3.2 使用 yum 命令
1. 列表查看軟體包信息
可以使用 list 選項查看軟體包相關的各項信息.
[root@client ~]# yum list updates
[root@client ~]# yum list installed
[root@client ~]# yum list available
2. 軟體包升級、卸載、安裝
升級(update)、卸載(remove)、安裝(install)軟體包時,系統會自動檢查並解決軟體
包之間的依賴關係.開始各項操作前,系統會提示用戶按 y 鍵進行確認(如果希望系統自動回答為 y,可以在 yum 命令后增加-y 選項).
[root@client ~]# yum -y update
[root@client ~]# yum update bind
//升級所有可用的軟體包,由系統自動確認
//升級 bind 軟體包
[root@client ~]# yum remove net-snmp-utils
[root@client ~]# yum install lynx
//卸載 net-snmp-utils 軟體包
//安裝 lynx 軟體包
1.3.3 使用圖形工具"添加刪除程序"
在 RHEL5 系統中,進入 X-Windows 圖形模式以後,可以使用系統自帶的"添加刪除程序"工具
(pirut)進行軟體包的升級、安裝、卸載等管理.
點擊GNOME面板菜單組"應用程序"中的"添加刪除程序",或者運行"pirut"就可以打開該工具
(如圖 1.1所示).運行RHEL5 提供的系統配置鏈接"system-config-packages"也可以打開該工具.
|
[火星人 ] 構建本地YUM源伺服器已經有423次圍觀