一鍵配置本地yum源

在使用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
相關文章
相關標籤/搜索