yum 的配置文件分为两部分:全局配置文件和yum仓库配置文件(repository)。
全局配置文件只有一个,定义了yum工具的一些全局配置选项,一般位于/etc/yum.conf
中。
yum仓库配置文件对每个yum源/服务器进行具体配置,可以有一到多个,一般位于/etc/yum.repo.d
目录下,并必须为.repo
后缀文件。每个yum仓库配置文件也可以配置一至多个yum源。
一、主配置文件/etc/yum.conf配置参数说明
assumeyes=0
#提示确认操作,默认是0。如果是1,则当yum install package\_name等命令时则不会提示确认操作。这个过程不用输入“y”确认安装。
cachedir=directory
#yum存储其缓存和数据库文件的目录。
debuglevel=2
#yum生成的调试输出的详细信息。value是1到10之间的整数。设置更高的调试级别值将导致yum显示更详细的调试输出。debuglevel=2是默认值,而debuglevel=0禁用调试输出。
exactarch=1
#默认1表示开启,在更新包时考虑准确的体系结构。通过此设置,yum不会安装用于32位体系结构的包来更新已经安装在系统上的具有64位体系结构的包。
gpgcheck=1
#默认gpgcheck=1,在所有存储库中的所有包上启用GPG签名检查,包括本地包安装。启用gpgcheck后,将检查所有包的签名。在对应的.repo文件中为单个存储库设置gpgcheck=value将覆盖默认值(如果它位于/etc/yum. conf中)。
keepcache=0
#默认0,安装成功后,不要保留标题和包的缓存。1:成功安装后保留缓存。
logfile=/var/log/yum.log
#默认/var/log/yum.log,日志输出保存位置。记录软件包更新、安装、移除等。
plugins=1
#plugins=1全局启用所有yum插件。仍然可以通过在插件的配置文件中设置enabled=0来禁用特定的yum插件。
二、yum仓库配置文件(repository)说明
[root@hollowman ~]# cat /etc/yum.repos.d/CentOS-Base.repo
[base]
#yum源ID,任意的yum源名都必须唯一,不能重复
name=CentOS-$releasever
#对当前yum源的描述,可以重复,支持像$releasever $basearch这样的变量;
enabled=1
#enabled=1表示激活当前yum源,为0则不激活
failovermethod=priority
#failovermethode在baseurl有多个url参数时生效,表示按什么规则或者顺序读取yum源。有两个选项roundrobin和priority,其中,roundrobin是随机选择,如果连接失败则使用随机使用下一个,依次循环,而priority则根据url的次序从第一个开始。如果不指明,默认是roundrobin。
baseurl=http://address1
[ ftp://address2 ]
[ file:///directory ]
#baseurl永用于配置yum源地址,可以是本地源也可以是网络源,可以有多个yum源地址,但baseurl。只需输入1次即可。
#baseurl通常的格式:http:// ftp:// file:///
gpgcheck=1
#gpgcheck=1表示进行gpg检查,为0则不检查
gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7
#gpgcheck=1时,需要设置gpgkey,否则不需要设置此处
三、baseurl本地源配置
以RHEL8虚拟机系统为例,配置好本地yum仓库从而完成yum管理和安装rpm包的工作。
本地源可以是Linux系统光盘,这里就用RHEL8了,既然安装了虚拟机系统,那当然也会有RHEL8的ISO镜像文件了。
1.挂载RHEL8镜像
#1.创建一个用于挂载镜像的目录
[root@hollowman ~]# mkdir /media/RHEL8
#2.将挂载信息写入挂载配置文件/etc/fstab文件,其中/dev/cdrom是RHEL8镜像设备名称,/media/RHEL8是挂载目录,/iso9660表示光盘格式
[root@hollowman~]# echo "/dev/cdrom /media/RHEL8 iso9660 defaults 0 0" >> /etc/fstab
#3.可以查看/etc/fstab文件,发现下面添加了一行挂载信息
[root@hollowman ~]# cat /etc/fstab
...略...
/dev/cdrom /media/RHEL8 iso9660 defaults 0 0
#4.挂载所有文件
[root@hollowman ~]# mount -a
mount: /media/RHEL8: WARNING: device write-protected, mounted read-only.
2.配置yum仓库
可以新建一个yum仓库配置文件,这里我们新建一个YUM_RHEL8.repo配置文件,然后再进行yum配置。
与以往版本不同,RHEL8系统通过挂载本地镜像yum源多了一级目录:BaseOS 是系统的一些软件,而AppStream则是应用软件。而rhel7版本是不需要后面这一级的目录的。
[root@hollowman ~]# touch /etc/yum.repos.d/YUM_RHEL8.repo
[root@hollowman ~]# vim /etc/yum.repos.d/YUM_RHEL8.repo
[BaseOS]
name=BaseOS
enabled=1
baseurl=file:///media/RHEL8/BaseOS
gpgcheck=0
[AppStream]
name=AppStream
enabled=1
baseurl=file:///media/RHEL8/AppStream
gpgcheck=0
3.验证yum仓库配置情况
[root@hollowman ~]# yum makecache
...略...
[root@hollowman ~]# yum repolist
...略...
4.用yum工具安装一个rpm包
RHEL8中安装了dnf工具,它是yum工具的升级版,但使用方法和yum工具基本相同,当然yum命令也还是可以用的。
[root@hollowman ~]# dnf install httpd
...略...
Installed:
httpd-2.4.37-10.module+el8+2764+7127e69e.x86_64
apr-util-bdb-1.6.1-6.el8.x86_64
apr-util-openssl-1.6.1-6.el8.x86_64
apr-1.6.3-9.el8.x86_64
apr-util-1.6.1-6.el8.x86_64
httpd-filesystem-2.4.37-10.module+el8+2764+7127e69e.noarch
httpd-tools-2.4.37-10.module+el8+2764+7127e69e.x86_64
mod_http2-1.11.3-1.module+el8+2443+605475b7.x86_64
redhat-logos-httpd-80.7-1.el8.noarch
Complete!
可以发现,httpd的依赖包真还不少,但都已经自动安装好了。接下来就学好yum工具命令吧。