配置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/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6


[addons]
name=CentOS-$releasever - Addons
baseurl=http://mirror.centos.org/$releasever/addons/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6


[extras]
name=CentOS-$releasever - Extras
baseurl=http://mirror.centos.org/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6


[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://mirror.centos.org/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6


设置本地更新源

使用安装光盘作为更新源,可以修改CentOS-Media.repo 文件,下面是一个配置实例。
[c6-media]
name=CentOS-$releasever - Media

baseurl=file:///media/CentOS/
      file:///media/cdrom/
      file:///media/cdrecorder/

gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-beta

为了使用 c6-media仓库,需将CentO S-Base .repo文件中的base仓库使用enabled=0设置成不可用。

若之前使用过网络更新源,那么本地repomd.xml会比光盘的要新,此时要使用本地光盘作为源,应先删除较新的本地缓存文件
#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)
#cp /mnt/Packages/*   /media/CentOS/
...等拷贝完了之后...

#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

[c6-media]
name=CentOS-$releasever - Media
baseurl=file:///media/CentOS/

gpgcheck=1
enabled=1    <=这里改为1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
 
同时为了使用我们自己配置的源,记得把其他配置的enabled=1改为enabled=0

先清理一下以前的缓存
#yum  clean all


更新一下缓存
#yum makecache

查看软件group
#yum  grouplist

关于yum的更多详细命令:http://netcake.blog.51cto.com/8663272/1547278