1、什么是 yum
yum 是 yellowdog updater modified 的缩写。yellowdog 是一个 Linux 的 distribution,RH 将这种升级技术利用到自己的 distribution 形成了现在的 yum,感觉上 yum 和 apt 的原理类似,但是 apt 是编译代码,执行效率远高于使用 python 写成的 yum。
yum 的理念是使用一个中心仓库(repository)管理一部分甚至一个 distribution 的应用程序相互关系,根据计算出来的软件依赖关系进行相关的升级、安装、删除等等操作,减少了 Linux 用户一直头痛的 dependencies 的问题。这一点上,yum 和 apt 相同。apt 原为 debian 的 deb 类型软件管理所使用,但是现在也能用到 RH 门下的 rpm 了。
一般这类软件通过一个或者多个配置文件描述对应的 repository 的网络地址,通过 http 或者 ftp 协议在需要的时候从 repository 获得必要的信息,下载相关的软件包。这样,本地用户通过建立不同的 repository 的描述说明,在有 Internet 连接时就能方便进行系统的升级维护工作。另外,如果需要使用代理,可以用 http_proxy 和 ftp_proxy 这些 shell 里面标准环境变量的设定。
repository 是用 yum-arch 或者 createrepo 命令创建的,也可以用别人已有的 repository 作为镜像,这里探讨如何建立一个 repository。
2、yum 的基本操作
yum 的基本操作包括软件的安装(本地,网络),升级(本地,网络),卸载,另外还有一定的查询功能。设定好了本地的 yum 之后,就可以很方便的进行安装。
(1)列出所有可更新的软件清单
命令:yum check-update
(2)安装所有更新软件
命令:yum update
(3)仅安装指定的软件
命令:yum install <package_name>
(4)仅更新指定的软件
命令:yum update <package_name>
(5)列出所有可安装的软件清单
命令:yum list
3、用YUM安装删除软件
装了系统添加删除软件是常事,yum同样可以胜任这一任务,只要软件是rpm安装的。
安装的命令是,yum install xxx,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突,那么最好,下载安装;如果有,则会给出提示,询问是否要同时安装依赖,或删除冲突的包,你可以自己作出判断。
删除的命令是,yum remove xxx,同安装一样,yum也会查询数据库,给出解决依赖关系的提示。
(1)用YUM安装软件包
命令:yum install <package_name>
(2)用YUM删除软件包
命令:yum remove <package_name>
4、用YUM查询软件信息
我 们常会碰到这样的情况,想要安装一个软件,只知道它和某方面有关,但又不能确切知道它的名字。这时yum的查询功能就起作用了。你可以用 yum search keyword这样的命令来进行搜索,比如我们要则安装一个Instant Messenger,但又不知到底有哪些,这时不妨用 yum search messenger这样的指令进行搜索,yum会搜索所有可用rpm的描述,列出所有描述中和messeger有关的rpm包,于 是我们可能得到gaim,kopete等等,并从中选择。
有时我们还会碰到安装了一个包,但又不知道其用途,我们可以用yum info packagename这个指令来获取信息。
(1)使用YUM查找软件包
命令:yum search <keyword>
(2)列出所有可安装的软件包
命令:yum list
(3)列出所有可更新的软件包
命令:yum list updates
(4)列出所有已安装的软件包
命令:yum list installed
(5)列出所有已安装但不在 Yum Repository 内的软件包
命令:yum list extras
(6)列出所指定的软件包
命令:yum list <package_name>
(7)使用YUM获取软件包信息
命令:yum info <package_name>
(8)列出所有软件包的信息
命令:yum info
(9)列出所有可更新的软件包信息
命令:yum info updates
(10)列出所有已安装的软件包信息
命令:yum info installed
(11)列出所有已安装但不在 Yum Repository 内的软件包信息
命令:yum info extras
(12)列出软件包提供哪些文件
命令:yum provides <package_name>
5、清除YUM缓存
yum 会把下载的软件包和header存储在cache中,而不会自动删除。如果我们觉得它们占用了磁盘空间,可以使用yum clean指令进行清除,更精确 的用法是yum clean headers清除header,yum clean packages清除下载的rpm包,yum clean all一 股脑儿端
(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)