技术知识库

帮助中心 >  产品文档 >  云服务器 >  CentOS YUM源配置文件repo详解



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


YUM的基本工作流程如下:


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


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



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/

 

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。


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: