1.yum简介

Redhat和Fedora的软件安装命令是rpm,但是用rpm安装软件最大的麻烦就是需要手动寻找安装该软件所需要 的一系列依赖关系,超级麻烦不说,要是软件不用了需要卸载的话由于卸载掉了某个依赖关系而导致其他的软件不能用是非常恼人的。令人高兴的是,Fedora终于推出了类似于 ubuntu中的apt的命令yum,令Fedora的软件安装变得简单容易。

yum 有以下特点:

  • 可以同时配置多个资源库(Repository)
  • 简洁的配置文件(/etc/yum.conf)
  • 自动解决增加或删除rpm包时遇到的倚赖性问题
  • 使用方便
  • 保持与RPM数据库的一致性

yum(全称为 Yellow dog Updater Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。

基于RPM包管理,能够从指定的服务器自动下载 RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

yum提供了查找、安装、删除某一个、一组甚至 全部软件包的命令,而且命令简洁而又好记。

2.yum命令语法

2.1.语法

1
yum(选项)(参数)

2.2.选项

1
2
3
4
5
6
7
8
9
-h:显示帮助信息; 
-y:对所有的提问都回答“yes”;
-c:指定配置文件;
-q:安静模式;
-v:详细模式;
-d:设置调试等级(0-10);
-e:设置错误等级(0-10);
-R:设置yum处理一个命令的最大等待时间;
-C:完全从缓存中运行,而不去下载或者更新任何头文件。

2.3.参数

1
2
3
4
5
6
7
8
9
10
11
12
13
install:安装rpm软件包; 
update:更新rpm软件包;
check-update:检查是否有可用的更新rpm软件包;
remove:删除指定的rpm软件包;
list:显示软件包的信息;
search:检查软件包的信息;
info:显示指定的rpm软件包的描述信息和概要信息;
clean:清理yum过期的缓存;
shell:进入yum的shell提示符;
resolvedep:显示rpm软件包的依赖关系;
localinstall:安装本地的rpm软件包;
localupdate:显示本地rpm软件包进行更新;
deplist:显示rpm软件包的所有依赖关系。

概括了部分常用的命令包括:

自动搜索最快镜像插件:

1
yum install yum-fastestmirror

安装yum图形窗口插件:

1
yum install yumex

查看可能批量安装的列表:

1
yum grouplist

3.yum常用命令

3.1.安装

1
2
3
yum install # 全部安装
yum install package1 # 安装指定的安装包package1
yum groupinsall group1 # 安装程序组group1

3.2.更新和升级

1
2
3
4
5
yum update # 全部更新
yum update package1 # 更新指定程序包package1
yum check-update # 检查可更新的程序
yum upgrade package1 # 升级指定程序包package1
yum groupupdate group1 # 升级程序组group1

3.3.查找和显示

1
2
3
4
yum info package1 # 显示安装包信息package1
yum list # 显示所有已经安装和可以安装的程序包
yum list package1 # 显示指定程序包安装情况package1
yum groupinfo group1 # 显示程序组group1信息yum search string 根据关键字string查找安装包

3.4.删除程序

1
2
3
yum remove package1 # 删除程序包package1
yum groupremove group1 # 删除程序组group1
yum deplist package1 # 查看程序package1依赖情况

3.5.清除缓存

1
2
3
4
yum clean packages # 清除缓存目录下的软件包
yum clean headers # 清除缓存目录下的 headers
yum clean oldheaders # 清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) # 清除缓存目录下的软件包及旧的headers

比如,要安装游戏程序组,首先进行查找:

1
yum grouplist

可以发现,可安装的游戏程序包名字是”Games and Entertainment“,这样就可以进行安装:

1
yum groupinstall "Games and Entertainment"

所有的游戏程序包就自动安装了。在这里Games and Entertainment的名字必须用双引号选定,因为linux下面遇到空格会认为文件名结束了,因此必须告诉系统安装的程序包的名字是“Games and Entertainment”而不是“Games”。

4.yum配置文件

yum的一切配置信息都储存在一个叫yum.conf的配置文件中,通常位于/etc目录下,一起来看下:

1
sudo more /etc/yum.conf
1
2
3
4
5
6
7
8
9
10
11
12
[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
metadata_expire=1800
PUT YOUR REPOS HERE OR IN separate files named file.repo
in /etc/yum.repos.d

下面简单的对这一文件作简要的说明:

  • cachedir:yum缓存的目录,yum在此存储下载的rpm包和数据库,一般是/var/cache/yum。
  • debuglevel:除错级别,0──10,默认是2
  • logfile:yum的日志文件,默认是/var/log/yum.log。
  • exactarch:有两个选项1和0,代表是否只升级和你安装软件包cpu体系一致的包,如果设为1,则如你安装了一个i386的rpm,则yum不会用686的包来升级。
  • gpgchkeck:有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认好像也是检查的。