配置CentOS Yum源
yum的配置檔案
CentOS在/etc/yum.repo.d/目錄下,.repo檔案中,配置文法是分段的,每一段配置一個軟體倉庫,配置文法如下:
[repositoryid]
name=Some name for this repository
baseurl=url://server1/path/to/repository/
url://server2/path/to/repository/
url://server3/path/to/repository/
mirrorlist=url://path/to/mirrorlist/repository/
enabled=0/1
gpgcheck=0/1
gpgkey=A URL pointing to the ASCII-armoured GPG key file for the repository
其中:
repositoryid : 用于指定一個倉庫
name: 用于指定易讀的倉庫名稱
baseurl : 用于指定本倉庫的URL,可以是如下的幾種類型:
http 用于指定遠端 HTTP 協定的源
ftp 用于指定遠端 FTP 協定的源
file 用于本地鏡像或 NFS 挂裝檔案系統
mirrorlist : 用于指定倉庫的鏡像站點
enabled : 用于指定是否使用本倉庫,預設值為1,即可用
gpgcheck : 用于指定是否檢查軟體包的 GPG 簽名
gpgkey : 用于指定GPG簽名檔案的URL
在name baseurl中經常使用如下的變量:
$releasever 目前系統的版本号
$basearch 目前系統的平台架構
檔案中以“#”開頭的行是注釋行
若指定mirrorlist,系統将從CentOS的鏡像站點中選擇離您最近的倉庫
并非所有的國内鏡像都在CentOS的鏡像站點清單中,可以直接使用baseurl直接指定離您最近的倉庫
baseurl 可以指定多個 UR L,系統會依次檢查您列出的倉庫,以便在某個伺服器當機時可以使用另外的伺服器
為了加快更新,在確定更新伺服器及線路良好的情況下,在baseurl中隻指定一個URL既可
設定網絡更新源
CentOS-Base.repo檔案的執行個體,在此檔案中沒有設定mirrorlist ,使用baseurl隻指定了一個URL,最好使用國内的源,速度比較快,國内的這裡給三個,讀者可根據自己的需要,把以下配置檔案中的
baseurl=http://mirror.centos.org/$releasever/os/$basearch/中的mirror.centos.org網址替換
為一下任意一個即可:
163的源: mirrors.163.com
搜狐的源: mirrors.sohu.com
中科大的源: centos.ustc.edu.cn
[base]
name=CentOS-$releasever - Base
baseurl=http://mirror.centos.org/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
[updates]
name=CentOS-$releasever - Updates
baseurl=http://mirror.centos.org/$releasever/updates/$basearch/
[addons]
name=CentOS-$releasever - Addons
baseurl=http://mirror.centos.org/$releasever/addons/$basearch/
[extras]
name=CentOS-$releasever - Extras
baseurl=http://mirror.centos.org/$releasever/extras/$basearch/
[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://mirror.centos.org/$releasever/centosplus/$basearch/
enabled=0
設定本地更新源
使用安裝CD光牒作為更新源,可以修改CentOS-Media.repo 檔案,下面是一個配置執行個體。
[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS/
file:///media/cdrom/
file:///media/cdrecorder/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-beta
為了使用 c6-media倉庫,需将CentO S-Base .repo檔案中的base倉庫使用enabled=0設定成不可用。
若之前使用過網絡更新源,那麼本地repomd.xml會比CD光牒的要新,此時要使用本地CD光牒作為源,應先删除較新的本地緩存檔案
#yum clean all <=清理現有緩存
#yum makecache <=重新緩存
本地目錄作為源
筆者使用CentOS6.5,這個版本的DVD分為兩個小于4G的ISO鏡像,為了安裝軟體包友善,便将這兩個ISO鏡像的Packages目錄下的所有軟體包拷貝到同一目錄下,然後使用createrepo指令建立本地軟體倉庫,以下是操作:
#yum install createrepo 先安裝軟體
#mkdir /media/CentOS
#mount /dev/cdrom /mnt (此時挂載的是DVD1)
#cp /mnt/Packages/* /media/CentOS/
...等拷貝完了之後...
#cp /mnt/repodata/*-i386-comps.xml /media/CentOS 這個是groupfile
#umount /mnt
#mount /dev/cdrom /mnt (此時挂載的是DVD2)
...等拷貝完了之後...
#mv /media/CentOS/*-i386-comps.xml /media/CentOS/i386-comps.xml
名字太長,改短點,且它必須放到和rpm軟體包同目錄下
#createrepo -g /media/CentOS/i386-comps.xml /media/CentOS
. . .漫長的等待 . . .
完了之後就該編輯本地源配置檔案了
#vi /etc/yum.repo.d/CentOS-Media.repo
enabled=1 <=這裡改為1
同時為了使用我們自己配置的源,記得把其他配置的enabled=1改為enabled=0
先清理一下以前的緩存
#yum clean all
更新一下緩存
#yum makecache
檢視軟體group
#yum grouplist
關于yum的更多詳細指令:http://netcake.blog.51cto.com/8663272/1547278