0x01 什么是repo
repo文件是Fedora中YUM源的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被YUM读取和应用。
YUM的基本工作流程如下:
服务器端:在服务器上面存放了所有的RPM软件包,然后以相关的功能去分析每个RPM文件的依赖性关系,将这些数据记录成文件存放在服务器的某特定目录内。(国内用的比较多的是阿里,163源)
客户端:如果需要安装某个软件时,先下载服务器上面记录的依赖性关系文件(可通过WWW或FTP方式),通过对服务器端下载的纪录数据进行分析,然后取得所有相关的软件,一次全部下载下来进行安装。
0x02 repo详解
repo文件一般都在/etc/yum.repo.d路径下。需要调整不同的YUM源,去修改repo文件即可。
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。

您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏