在使用RedHat系統過程當中,常常會安裝各類包,而包的安裝又存在着依賴性的問題,即一個包的安裝一般依賴其它不少包的安裝。這樣,就會至關不便。所幸,RedHat提供了Yum。Yum(全稱爲 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及CentOS中的Shell前端軟件包管理器。基於RPM包管理,可以從指定的服務器自動下載RPM包而且安裝,能夠自動處理依賴性關係,而且一次安裝全部依賴的軟件包,無須繁瑣地一次次下載、安裝。前端
Yum源支持三種配置方式:FTP、HTTP和本地file。下面腳本配置的yum源是基於本地文件的,利用的是系統光盤。node
說明:bash
1> 必須將系統光盤掛載到系統光驅中。服務器
2> 該例中處理的難題是光盤文件名爲/media/RHEL_6.3\ i386\ Disc\ 1/,而經過for循環讀取文件名,最後只顯示/media/RHEL_6.3 i386 Disc 1,即中間的空格沒有轉義符。若是是將後者做爲yum配置文件/etc/yum.repos.d/local.repo的baseurl,仍會報錯。必須使用前者,即帶有轉義符的。在這裏,用了baseurl=${i// /\\ }實現字符串替換,將空格替換爲\空格。oracle
#!/bin/bash rm -f /etc/yum.repos.d/* echo "[BASE]" > /etc/yum.repos.d/local.repo echo "name=base" >> /etc/yum.repos.d/local.repo for i in /media/* do if [ -e "$i" ] ; then baseurl=${i// /\\ } echo "baseurl=file://$baseurl" >> /etc/yum.repos.d/local.repo else echo "Please Insert The Disk!" fi done echo "enabled=1" >> /etc/yum.repos.d/local.repo echo "gpgcheck=0" >> /etc/yum.repos.d/local.repo
腳本執行後的結果:url
[oracle@node3 ~]$ cat /etc/yum.repos.d/local.repo spa
[BASE] name=base baseurl=file:///media/RHEL_6.3\ i386\ Disc\ 1 enabled=1 gpgcheck=0