-

本书前面讲到,Yum软件仓库的作用是为了进一步简化RPM管理软件的难度以及自动分析所需软件包及其依赖关系的技术。可以把Yum想象成是一个硕大的软件仓库,里面保存有几乎所有常用的工具,而且只需要说出所需的软件包名称,系统就会自动为您搞定一切。

既然要使用Yum软件仓库,就要先把它搭建起来,然后将其配置规则确定好才行。鉴于第6章才会讲解Linux的存储结构和设备挂载操作,所以我们当前还是将重心放到Vim编辑器的学习上。如果遇到看不懂的参数也不要紧,后面章节会单独讲解。搭建并配置Yum软件仓库的大致步骤如下所示。

第1步:进入到/etc/yum.repos.d/目录中(因为该目录存放着Yum软件仓库的配置文件)。

第2步:使用Vim编辑器创建一个名为rhel7.repo的新配置文件(文件名称可随意,但后缀必须为.repo),逐项写入下面加粗的配置参数并保存退出(不要写后面的中文注释)。

[rhel-media] :Yum软件仓库唯一标识符,避免与其他仓库冲突。

name=linuxprobe:Yum软件仓库的名称描述,易于识别仓库用处。

baseurl=file:///media/cdrom:提供的方式包括FTP(ftp://..)、HTTP(http://..)、本地(file:///..)。

enabled=1:设置此源是否可用;1为可用,0为禁用。

gpgcheck=1:设置此源是否校验文件;1为校验,0为不校验。

gpgkey=file:///media/cdrom/RPM-GPG-KEY-redhat-release:若上面参数开启校验,那么请指定公钥文件地址。

第3步:按配置参数的路径挂载光盘,并把光盘挂载信息写入到/etc/fstab文件中。

第4步:使用“yum install httpd -y”命令检查Yum软件仓库是否已经可用。

进入/etc/yum.repos.d目录中后创建Yum配置文件:

[root@linuxprobe ~]# cd /etc/yum.repos.d/ [root@linuxprobe yum.repos.d]# vim rhel7.repo [rhel7] name=rhel7 baseurl=file:///media/cdrom enabled=1 gpgcheck=0

创建挂载点后进行挂载操作,并设置成开机自动挂载(详见第6章)。尝试使用Yum软件仓库来安装Web服务,出现Complete!则代表配置正确:

[root@linuxprobe yum.repos.d]# mkdir -p /media/cdrom [root@linuxprobe yum.repos.d]# mount /dev/cdrom /media/cdrom mount: /dev/sr0 is write-protected, mounting read-only [root@linuxprobe yum.repos.d]# vim /etc/fstab /dev/cdrom /media/cdrom iso9660 defaults 0 0 [root@linuxprobe ~]# yum install httpd Loaded plugins: langpacks, product-id, subscription-manager ………………省略部分输出信息……………… Dependencies Resolved

 Package Arch Version Repository Size
================================================================================
Installing:
 httpd x86_64 2.4.6-17.el7 rhel 1.2 M
Installing for dependencies:
 apr x86_64 1.4.8-3.el7 rhel 103 k
 apr-util x86_64 1.5.2-6.el7 rhel 92 k
 httpd-tools x86_64 2.4.6-17.el7 rhel 77 k
 mailcap noarch 2.1.41-2.el7 rhel 31 k
Transaction Summary
================================================================================
Install 1 Package (+4 Dependent packages)
Total download size: 1.5 M
Installed size: 4.3 M
Is this ok [y/d/N]: y
Downloading packages:
--------------------------------------------------------------------------------
………………省略部分输出信息………………
Complete!