yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。 基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记
yum 语法
yum [options] [command] [package ...]
options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。
command:要进行的操作。
package:安装的包名。
常用命令
1、查看所有可用的软件仓库信息: yum repolist
2、查看所有可用仓库中包含的软件包情况:yum list
3、查看rpm包是否已经安装:yum list installed |grep rpm包
4、仅安装指定的软件命令:yum install <package_name>
5、查看rpm包详细信息:yum info rpm包
6、查看某一个rpm包的安装情况:yum list rpm包(支持通配符,若rpm包还没有安装,则显示可用的软件仓库)
7、列出所有可更新的软件清单命令:yum check-update
8、仅更新指定的软件命令:yum update <package_name>
9、更新所有软件命令(系统升级):yum update
10、删除软件包命令:yum remove <package_name>
11、查找软件包命令:yum search <keyword>
12、清除缓存命令:
yum clean packages:清除缓存目录下的软件包
yum clean headers:清除缓存目录下的 headers
yum clean oldheaders:清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的 headers
仓库配置
yum的仓库配置文件
位于/etc/yum.reops.d目录下
既然yum能自动下载软件并安装,那么yum是怎么知道从哪里下载呢,答案是从yum软件仓库中进行下载,yum的一切信息都存储在一个叫yum.reops.d目录下的配置文件中,通常位于/etc/yum.reops.d目录下。 在这个目录下面有很多文件,都是.repo结尾的,repo文件是yum源(也就是软件仓库)的配置文件,通常一个repo文件定义了一个或者多个软件仓库的细节内容,例如我们将从哪里下载需要安装或者升级的软件包,repo文件中的设置内容将被yum读取和应用!
进入/etc/yum.repo.d目录下,vim CentOS-Base.repo。内容如下:
内容解析:
[extras] :这个表示的是名称,[extras]是yum的ID,它必须唯一,本地有多个yum源的时候,这个[extras]必须是唯一的。
name=CentOS-$releasever - Base:具体的yum源名字,其实相当于对它的描述描述信息 $r releasever你可以使用这个变量参考红帽企业Linux发行版,也就是说表示当前发行版的大版本号。
baseurl :是镜像服务器地址,只能写具体的确定地址。下面的例子中,只能有一个baseurl,但里面可以包含多个url。
mirrorlist :是镜像服务器的地址列表,里面有很多的服务器地址。这里有一个变量$arch,cpu体系,还有一个变量:$basearch,cpu的基本体系组。
baseurl和mirrorlist都是指向yum源的地址,不同点是包含地址的多少。你若自己写的话,我们一般只写一个地址,直接用baseurl就行
gpgcheck=0 :要不要验证呢,1是要验证,0为取消验证,使用公钥检验rpm包的正确性。
gpgcheck :是否检查软件包的GPG签名,值为1则对下载的rpm将进行gpg校验,校验密钥就是gpgkey,一般自己的yum源是不需要检测的。
gpgkey:指定GPG签名文件的URL。
yum的主配置文件
/etc/yum.conf文件
再来看一下yum的主配置文件,/etc/yum.conf文件,这个文件定义了yum的日志路径,缓存目录等信息,如下:
cachedir=/var/cache/yum #yum下载的RPM包的缓存目录
keepcache=0 #缓存是否保存,1保存,0不保存
debuglevel=2 #调试级别(0-10),默认为2
logfile=/var/log/yum.log #yum的日志文件所在的位置