在主机网络正常的情况下,CentOS的YUM源是可以直接使用的,不过我们需要了解yum源配置文件的内容。Yum源配置文件保存在/etc/yum.repos.d/目录下,文件的扩展名一定是“.repo”。也就是说,yum源配置文件只要扩展名是“.repo”就会生效。

[root@localhost ~]# ls /etc/yum.repos.d/
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo

这个目录中有4个yum源配置文件,默认情况下CentOS-Base.repo文件生效。我们打开这个文件看看,命令如下:

[root@localhost ~]# vim /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

在 CentOS-Base.repo 文件中有 5 个 yum 源容器,这里只列出了 base 容器,其他容器和 base 容器类似。我们解释一下 base 这个容器。

  • [base]:代表软件库的名字,中括号一定要存在,里面的名称则可以随意取。但是不能有两个相同的软件库名称,否则 yum 会不知道该到哪里去找软件库相关软件列表文件。
  • name:容器说明,可以自己随便写。
  • mirrorlist:列出这个软件库可以使用的映射站台,如果不想使用,可以批注到这行;
  • baseurl:这个最重要,因为后面接的就是YUM源服务器的的实际网址,mirrorlist 是由 yum 程序自行去捉映像站台,baseurl 则是指定固定的一个软件库网址。
  • enabled:此容器是否生效,如果不写或写成 enabled=1 则表示此容器生效,写成 enabled=0则表示此容器不生效。
  • gpgcheck:如果为 1 则表示 RPM 的数字证书生效;如果为 0 则表示 RPM 的数字证书不生效。
  • pgkey:数字证书的公钥文件保存位置。默认课不用修改,如果路劲错误,可以查看10.2.7节查找公钥路劲在进行修改。

修改软件库产生的问题与解决之道:

由于我们是修改系统默认的配置文件,事实上,我们应该要在 /etc/yum.repos.d/ 底下新建一个文件,该扩展名必须是 .repo 才行!但因为我们使用的是指定特定的映像站台,而不是其他软件开发商提供的软件库, 因此才修改系统默认配置文件。但是可能由于使用的软件库版本有新旧之分,你得要知道, yum 会先下载软件库的清单到本机的 /var/cache/yum 里面去!那我们修改了网址却没有修改软件库名称 (中括号内的文字), 可能就会造成本机的列表与 yum 服务器的列表不同步,此时就会出现无法更新的问题了!

那怎么办啊?很简单,就清除掉本机上面的旧数据即可!需要手动处理吗?不需要的, 透过 yum 的clean 项目来处理即可!

[root@study ~]# yum clean [packages|headers|all]

选项

说明

packages

将已下载的软件文件删除

headers

将下载的软件文件头删除

all

将所有软件库数据都删除!

实例演示:

1、 删除已下载过的所有软件库的相关数据 (含软件本身与列表);

[root@localhost ~]# yum clean all