一鍵配置本地yum源


在使用RedHat系統過程中,經常會安裝各種包,而包的安裝又存在着依賴性的問題,即一個包的安裝通常依賴其它很多包的安裝。這樣,就會相當不便。所幸,RedHat提供了Yum。Yum(全稱為 Yellow dog Updater, Modified)是一個在Fedora和RedHat以及CentOS中的Shell前端軟件包管理器。基於RPM包管理,能夠從指定的服務器自動下載RPM包並且安裝,可以自動處理依賴性關系,並且一次安裝所有依賴的軟件包,無須繁瑣地一次次下載、安裝。

Yum源支持三種配置方式:FTP、HTTP和本地file。下面腳本配置的yum源是基於本地文件的,利用的是系統光盤。

說明:

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// /\\ }實現字符串替換,將空格替換為\空格。

#!/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                                         

腳本執行后的結果:

[oracle@node3 ~]$ cat /etc/yum.repos.d/local.repo 

[BASE]
name=base
baseurl=file:///media/RHEL_6.3\ i386\ Disc\ 1
enabled=1
gpgcheck=0

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM