有时候,由于网络或其它各种可能的原因,系统自带的RPM仓库可能满足不了我们的需求,这个时候,我们就需要自己定制一份属于自己的仓库文件,接下来,我们一起学习RPM仓库配置文件的写法:
1.为更好的呈现效果,我们先把系统自带的仓库文件删除
[root@Centos7 ~]# rm -rf /etc/yum.repos.d/*
2.通过Vim手动创建并配置仓库文件
[root@Centos7 ~]# vim /etc/yum.repos.d/aliyun.repo
[base] #必选值,定义软件仓库(Repository)的名称,用作Yum识别不同仓库,因此满足唯一性
name=CentOS $releasever base #定义仓库仓库名和描述信息,也可用作配置说明等用途,通常设置该值是为了方便阅读仓库配置文件,支持$releasever $basearch这样的变量,可省略
mirrorlist=URL #指定当前仓库的镜像地址
baseurl=URL1://path/to/repository/
URL2://path/to/repository/
URL3://path/to/repository/
#必选值,定义仓库文件路径。可选的协议值为http, https, file:///, ftp:// ;后跟一个或多个URL(但只能有一个baseurl),需要特别注意的是,URL必须指向该Repository软件列表目录的上一级,简练的说明就是必须指向Repository repodata的上一级目录;特别需要注意的是,由于在类Unix系统(Unix Like OS) 中,正斜杠"/"用作路径分隔符及根目录,因此使用绝对路径表示本地RPM仓库路径时,必须使用3个正斜杠。变量$releasever用于识别系统发行版本,通常是5,6,7等数字; $basearch用于识别CPU架构,可能的值为i386、i686、x86_64等,设置这些变量是为了方便通过yum安装或升级仓库软件包。
enabled={1|0} #是否开启当前仓库,0表示关闭,1表示开启。如未指明,默认为1
gpgcheck={1|0} #是否检查软件包的GPG签名,1为开启,0为关闭。若为官方源或其它可信机构源可设置为0,否则建议开启GPG检查
gpgkey=URL #用于指定GPG签名文件的URL,当gpgcheck=1时,该项为必选项,否则yum安装时将报错,提示当前Repository不被信任
failovermethod={roundrobin | priority} #设定YUM仓库的路径选择方式,默认为roundrobin,即随机选择,在当前URL连接失败情景下,yum将自动随机选择下一个,依次类推;当设定failovermethod的值为priority时,将根据Repository URL的次序依次选择。
3.检查仓库是否配置正确
[root@Centos7 ~]# yum clean all #清除仓库缓存
[root@Centos7 ~]# yum repolist #获取仓库信息 如果一切配置正常 将列出所有的可用仓库
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
repo id repo name status
base base 9,363
epel epel 11,769
repolist: 21,132
4.尝试安装httpd软件
[root@Centos7 ~]# yum -y install httpd #正常情况下成功的 这里就不贴详细的软件包安装过程了
5.到此,repo文件的创建工作已经完成了,怎么样?是不是很简单啊。下一节,我们将一起学习基于FTP协议的RPM仓库搭建,敬请期待吧~