『学了就忘』Linux软件包管理 — 45、yum源文件详细说明

提示:RPM包的在线安装就是yum安装,yum安装需要依据yum源文件内容配置来寻找软件。本文来说说yum源文件的内容和使用。

1、yum源文件解析

yum源配置文件保存在/etc/yum.repos.d/目录中,文件的扩展名一定是*.repo。也就是说,yum源配置文件只要扩展名是*.repo就会生效。

查看/etc/yum.repos.d/目录内容如下:

[root@localhost ~]# ls /etc/yum.repos.d/
CentOS-Base.repo
CentOS-Debuginfo.repo
CentOS-fasttrack.repo
CentOS-Media.repo
CentOS-Vault.repo
  • CentOS-Base.repo:CentOS中默认情况下CentOS-Base.repo文件生效,需要使用网络,但官方源在国外,连接速度令人心痛。(如果你的网络比较好,就可以直接用,无需配置。)
  • CentOS-Media.repo:光盘yum源,自己练习或者做实验的时候,可以使用此yum源。

2、查看yum源文件

我们打开CentOS-Base.repo 文件看看,命令如下:

[root@localhost yum.repos.d]# vim /etc/yum.repos.d/CentOS-Base.repo

文件内容如下图:

image

CentOS-Base.repo文件中有5个yum源容器(每一段都是一个yum源容器地址),这里只列出了base容器,其他容器和base容器类似。

我们解释一下base这个容器。

  • [base]:容器名称,一定要放在[]中。
  • name:容器说明,可以自己随便写。
  • mirrorlist:镜像站点,这个可以注释掉。
  • baseurl:我们的yum源服务器的地址。默认是CentOS官方的yum源服务器,是可以使用的。
    如果你觉得慢,则可以改成你喜欢的yum源地址(国内镜像也可以)。
    注意mirrorlistbaseurl两个选项只有一个能生效,另一个要注释掉。
  • enabled:此容器是否生效,如果不写或写成enabled=1则表示此容器生效,写成enabled=0则表示此容器不生效。(没写默认=1)
  • gpgcheck:如果为1则表示RPM的数字证书生效;如果为0则表示RPM的数字证书不生效。
  • gpgkey:数字证书的公钥文件保存位置。证书位置,不用修改。
    注意:gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6中有三个///
    前两个是协议的,最后一个表示根目录,三个/一个都不能少。

3、搭建本地光盘yum源

需要做的是让CentOS-Base.repo源不生效,让CentOS-Media.repo源生效。

第一步:

放入CentOS安装光盘,并挂载光盘到指定位置。

命令如下:

# 创建 cdrom目录,作为光盘的挂载点
[root@localhost ~]# mkdir /mnt/cdrom

# 挂载光盘到/mnt/cdrom目录下
[root@localhost ~]#mount /dev/cdrom /mnt/cdrom/
mount:block device/dev/sr0 is write-protected,mounting read-only

第二步:

修改其他几个yum源配置文件的扩展名,让它们失效。

因为只有扩展名是*.repo的文件,才能作为yum源配置文件。当然也可以删除其他几个yum源配置文件,但是如果删除了,当你又想用网络作为yum源时,就没有了参考文件,所以最好还是修改扩展名。

命令如下:

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mv CentOS-Base.repo  Cent0S-Base.repo.bak
[root@localhost yum.repos.d]# mv CentOS-Debuginfo.repo  Cent0S-Debuginfo.repo.bak
[root@localhost yum.repos.d]# mv CentOS-Vault.repo  CentOS-Vault.repo.bak

其实只改CentOS-Base.repo文件就可以,因为其他的本来默认就不生效。

第三步:

修改光盘yum源配置文件CentOS-Media.repo生效。

参照以下方法修改:

# 修改编辑CentOS-Media.repo文件
[root@localhost yum.repos.d]# vim CentOS-Media.repo

# 文件中内容
[c6-media]
name=Cent0S-$releasever-Media
# 地址为你自己的光盘挂载地址
baseurl=file:///mnt/cdrom
# 注释这两个不存在的地址
#  file:///media/cdrom/
#  file:///media/cdrecorder/
注意:如果不注释掉这两个没有用的地址,
在centos6以前版本直接就会报错。
在centos6开始,不会直接报错,但是每次执行yum命令,
都会报两个小错误,说这两个位置找不到。但不影响执行。
还有就是注释的`#`一定要定格写。

# 把enabled=0改为enabled=1,让这个 yum源配置文件生效
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

配置完成,现在可以感受一下yum的便捷了。

最后总结一下:

  • 步骤一:修改自己挂载光盘的位置。
  • 步骤二:注释掉两个没用的地址。
  • 步骤三:enabled=0改成enabled=1