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。