yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
yum的命令形式一般是如下:yum [options] [command] [package ...]
其中的[options]是可选的,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。[command]为所要进行的操作,[package ...]是操作的对象。
[CentOS7-base] #源名称,必填
name=CentOS-$releasever-base #源描述,可以不填,但是会有提示
baseurl=ftp:// #ftp服务器
file:///misc/cd/ #本地的光盘文件,可以有多个地址。必填
https://mirrors.aliyun.com/centos/7.3.1611/os/x86_64/
gpgcheck=1 #是否开启校验,在yum.conf中已经定义它默认值为1
enabled=1 #是否禁用此yum源,默认为1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
#如果开启yum源包校验,则需要导入RPM公钥,此处只是在系统没有导入rpm公钥时候进行安装
#这里相当于rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[aliyun_epel] #这是Redhat的扩展包
name=ailiyun_yum_epel
baseurl=https://mirrors.aliyun.com/epel/7/x86_64/
gpgkey=https://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-7
gpgcheck=1
1.使用yum安装和卸载软件
安装的命令是,yum install ~,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突,那么最好,下载安装;
删除的命令是,yum remove ~,同安装一样,yum也会查询数据库,给出解决依赖关系的提示。1.用YUM安装软件包命令:yum install ~
2.用YUM删除软件包命令:yum remove ~
2.用yum查询想安装的软件
我们常会碰到这样的情况,想安装一个软件,只知道它和某方面有关,但又不能确切知道它的名字。这时yum的查询功能就起作用了。
我们可以用yum search keyword这样的命令来进行搜索,比如我们要则安装一个InstantMessenger,但又不知到底有哪些,这时不妨用yum search messenger这样的指令进行搜索,yum会搜索所有可用rpm的描述,列出所有描述中和messeger有关的rpm包,于是我们可能得到 gaim,kopete等等,并从中选择。
有时我们还会碰到安装了一个包,但又不知道其用途,我们可以用yuminfo packagename这个指令来获取信息。
1.使用YUM查找软件包
命令:yum search ~
2.列出所有可安装的软件包
命令:yum list
3.列出所有可更新的软件包
命令:yum list updates
4.列出所有已安装的软件包
命令:yum list installed
5.列出所有已安装但不在Yum Repository內的软件包
命令:yum list extras
6.列出所指定软件包
命令:yum list ~
7.使用YUM获取软件包信息
命令:yum info ~
8.列出所有软件包的信息
命令:yum info
9.列出所有可更新的软件包信息
命令:yum info updates
10.列出所有已安裝的软件包信息
命令:yum info installed
11.列出所有已安裝但不在Yum Repository內的软件包信息
命令:yum info extras
12.列出软件包提供哪些文件
命令:yum provides~
3.清除YUM缓存
yum会把下载的软件包和header存储在cache中,而不会自动删除。如果我们觉得它们占用了磁盘空间,可以使用yum clean指令进行清除,更精确的用法是yumclean headers清除header,yum cleanpackages清除下载的rpm包,yum cleanall 清除所有。
1.清除缓存目录(/var/cache/yum)下的软件包
命令:yum clean packages
2.清除缓存目录(/var/cache/yum)下的 headers
命令:yum clean headers
3.清除缓存目录(/var/cache/yum)下旧的 headers
命令:yum clean oldheaders
4.清除缓存目录(/var/cache/yum)下的软件包及旧的headers
命令:yum clean, yum clean all (= yum clean packages; yum clean oldheaders)
4.yum命令工具使用举例
yum update 升级系统
yum install ~ 安装指定软件包
yum update ~ 升级指定软件包
yum remove ~ 卸载指定软件
yum group list 查看系统中已经安装的和可用的软件组,可用的可以安装
yum group install~ 安装上一个命令显示的可用的软件组中的一个
yum group update ~更新指定软件组的软件包
yum group remove ~卸载指定软件组中的软件包
yum dep list ~ 查询指定软件包的依赖关系
yum list yum* 列出所有以yum开头的软件包
yum local install ~从硬盘安装rpm包并使用yum解决依赖
5.yum高级管理应用技巧
技巧2:加快你的yum的速度.使用yum的扩展插件yum-fastestmirror,个人认为这个插件非常有效,速度真的是明显提高,
#yum -y install yum-fastestmirror
注意,在CentOS 4上,名字叫yum-plugin-fastestmirror

技巧3:rpm查找.还是有rpm包找不到怎么办,到下面这个网站。基本上都收集全了,你可以用高级查找看看.http://rpm.pbone.net/

技巧4:通过yum工具下载RPM源码包。前提是有安装yum-utils这个软件包.如果有安装的话。
#yum downloader --source ; RPM源码包
#yum downloader --source vsftpd
当然,没有源包的话,还要加入一个源
[linux-src]
name=Centos$releasever-$basearch-Source
baseurl=http://mirrors.163.com/centos/$releasever/os/SRPMS/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

技巧5:软件组安装有时我们安装完系统,管理有一类软件没有安装,比如用于开发的开发包,我们可以用软件包来安装。
#yum group list这样可以列出所有的软件包
比如我们要安装开发有关的包
#yum group install "Development Libraries"
#yum group install "Development Tools"

比如我们要安装中方支持
#yum group install "Chinese Support"
#yum deplist package1 #查看程序package1依赖情况

以上所有命令参数的使用都可以用man来查看:
[root@F7常用文档]$ man yum
yum -y install 包名(支持):自动选择y,全自动
yum install 包名(支持
):手动选择y or n
yum remove 包名(不支持
rpm -ivh 包名(支持
):安装rpm包
rpm -e 包名(不支持*):卸载rpm包
升级内核:#yum install kernel-headers kernel-devel