使用 yum 命令安装或升级应用程序 (三) - 其他功能

除了安装、升级以外,yum 还可以用来查询软件包仓库,检查软件包依赖性,以及卸载软件包等功能。本节将介绍如何使用 yum 的这些功能,并提供一些使用 yum 时的建议 :D

查询软件包

查询有两种方式,一是在软件包名称中查找,另一种是在软件包名称和描述中查找。

前面讲过,使用 yum 安装软件就需要知道软件包的名称。如果只记得某个影音播放器的名称中包含 "mplayer",使用下列命令就可以查询到名称中包含 "mplayer" 的软件包了。

[lugir@hope ~]$ yum list | grep mplayer
kmplayer.i686  0.11.1b-2.fc12  fedora

单独使用 yum list 会显示软件包仓库中的所有软件包名称,这将是一个很长的列表,如果你真想看看这个列表的话,建议运行 "yum list | less"

[lugir@hope ~]$ yum list | less

提示:运行 "yum repolist" 可以查看目前使用的软件包仓库 (Package Repositories) 名称,以及它们所包含的软件包数量。

另一种查询方式是使用 "yum search [关键词]",它会从名称和描述两方面进行查找,因此较为推荐这种查询方式。比如你想找“播放器”,可以运行 "yum search player | less"

[lugir@hope ~]$ yum search player | less

PS:尽管 yum 的查询功能非常好用,但不太适合新手。因此不如用搜索引擎去搜索 “Linux 播放器”等类似的关键词,这样不仅可以得到某个软件的名称,也可以看看大家对某款软件的评价 :D

查询软件包仓库以外的软件列表,比如从其他网站下载到本地安装的软件,可以使用 yum list extras

[lugir@hope ~]$ yum list extras
linuxqq.i386  v1.0.2-beta1  @/linuxqq-v1.0.2-bate1.i386

 

卸载软件包

卸载软件包与安装软件包一样,需要使用正确的软件包名称,如果要卸载QQ,使用 "yum erase qq" 是不行的,因为系统并没有安装名称 qq 的软件包,正确的卸载命令应该是 "yum erase linuxqq"

[lugir@hope ~]$ su
密码:
[root@hope lugir]# yum erase linuxqq
……
事务概要
============================
移除    1 软件包
覆盖安装  0 软件包
降级    0 软件包

确定吗:[y/N]? y
……
执行事务
正在删除:linuxqq-v1.0.2-beta1.i386

删除:
linuxqq-v1.0.2-beta1.i386

完毕!
[root@hope lugir]# exit
exit
[lugir@hope ~]$

PS: 如果不切换成 root,卸载时可能会出现权限问题。还有就是记得卸载任务执行完成之后就退出 root.

除了以上介绍的以外,yum 还有许多其它选项和用法,可自行使用 "yum --help | less" 查阅学习

 

下一节 - 管理 RPM 软件包