CentOS YUM源配置文件repo详解

0x01  什么是repo

repo文件是Fedora中YUM源的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被YUM读取和应用。

YUM的基本工作流程如下:

服务器端:在服务器上面存放了所有的RPM软件包,然后以相关的功能去分析每个RPM文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。(国内用的比较多的是阿里,163源)

客户端:如果需要安装某个软件时,先下载服务器上面记录的依赖性关系文件(可通过WWW或FTP方式),通过对服务器端下载的纪录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装。

0x02  repo详解

repo文件一般都在/etc/yum.repo.d路径下。需要调整不同的YUM源,去修改repo文件即可。

repo基本格式如下图:

CentOS YUM源配置文件repo详解

[serverid]:是用于区别各个不同的repository,必须有一个独一无二的名称,如果名称重复了,则后面的会覆盖前面;

name:是对repository的描述,支持像$releasever $basearch这样的变量; name=CentOS-$releasever - Base;

baseurl:是服务器设置中最重要的部分,只有设置正确,才能从上面获取软件;

baseurl后可以跟多个url,其中url支持的协议有 http:// ftp:// file://三种,你可以自己改为速度比较快的镜像站,但baseurl只能有一个,不能有像如下格式:

baseurl=url://server1/path/to/repository/

baseurl=url://server2/path/to/repository/

mirrorlist:是指定一个镜像服务器的地址列表;

gpgcheck:有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认是检查的;

gpgkey:校验key,如果设置了gpgcheck为1,则需要提供校验key;

failovermethod:有两个选项roundrobin和priority,意思分别是有多个url可供选择时,yum选择的次序,roundrobin是随机选择,如果连接失败则使用下一个,依次循环,priority则根据url的次序从第一个开始。如果不指明,默认是roundrobin;

exclude:排除某些软件在升级名单之外,可以用通配符,列表中各个项目要用空格隔开,这个对于安装了诸如美化包,中文补丁的朋友特别有用;

enabled:当某个软件仓库被配置成 enabled=0 时,yum 在安装或升级软件包时不会将该仓库做为软件包提供源。使用这个选项,可以启用或禁用软件仓库。

常用的几个变量:

$releasever:发行版的版本,从yum.conf文件中的distroverpkg获取,如果没有,则根据redhat-release包进行判断。

$arch:cpu体系,如i686,athlon等

$basearch:cpu的基本体系组,如i686和athlon同属i386,alpha和alphaev6同属alpha。

weinxin
聂扬帆博客
一个分享IT运维相关工作经验和实战技巧的个人博客

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: