除了安装、升级以外,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 软件包