(注:本文已预先发表在个人独立站点,链接为http://izack.cn/worknote/10.html)
·什么是repo文件
repo文件是yum源(软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用。
·repo文件常用属性详解
[serverid]
#其中serverid是用于区别各个不同的repository,必须有一个独一无二的名称。
name=Some name for this server
#name,是对repository的描述,支持像$releasever $basearch这样的变量;
mirrorlist=url://
#mirrorlist指定了一个URL地址,改地址是一个包含有众多源镜像地址的列表,当用户通过yum安装或升级软件时,yum会试图依次从列表中所示的镜像源中进行下载,如果从一个镜像源下载失败,则会自动尝试列表中的下一个。若列表遍历完成依然没有成功下载到目标软件包,则向用户抛错。
baseurl=url://
#baseurl是服务器设置中最重要的部分,只有设置正确,才能从上面获取软件。
#其中url支持的协议有 http:// ftp:// file://三种。
#其中url指向的目录必须是这个repository header目录的上一级,它也支持$releasever $basearch这样的变量。
gpgcheck=[1 or 0]
gpgkey=url://
#gpgchkeck= 有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认是检查的。gpgkey则用来指明KEY文件的地址,同样支持“http、ftp和file”三种协议。
exclude=
#exclude指明将哪些软件排除在升级名单之外,可以用通配符,列表中各个项目需用空格隔开。
failovermethod=priority
priority=
#failovermethode在yum有多个源可供选择时,决定其选择的顺序。该属性有两个选项:roundrobin和priority。roundrobin是随机选择,如果连接失败,则使用下一个,依次循环。priority则根据url的次序从第一个开始,如果不指明,默认是roundrobin。
enabled=[1 or 0]
#当某个软件仓库被配置成 enabled=0 时,yum 在安装或升级软件包时不会将该仓库做为软件包提供源。使用这个选项,可以启用或禁用软件仓库。
·repo文件常用变量
(1)$releasever:发行版的版本,从[main]部分的distroverpkg获取,如果没有,则根据redhat-release包进行判断。
(2)$arch,cpu体系,如i386、x86_64等。
(3)$basearch,cpu的基本体系组,如i686和athlon同属i386,alpha和alphaev6同属alpha。
·参考资料
[1] “俊希”的网易博客