『学了就忘』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
文件内容如下图:
在CentOS-Base.repo
文件中有5个yum
源容器(每一段都是一个yum
源容器地址),这里只列出了base
容器,其他容器和base
容器类似。
我们解释一下base
这个容器。
[base]
:容器名称,一定要放在[]
中。name
:容器说明,可以自己随便写。mirrorlist
:镜像站点,这个可以注释掉。baseurl
:我们的yum
源服务器的地址。默认是CentOS官方的yum
源服务器,是可以使用的。
如果你觉得慢,则可以改成你喜欢的yum
源地址(国内镜像也可以)。
注意mirrorlist
和baseurl
两个选项只有一个能生效,另一个要注释掉。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
。