什么是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。
yum的基本操作
yum的基本操作包括软件的安装(本地,网络),升级(本地,网络),卸载,另外还有一定的查询功能。设定好了本地的yum之后,就可以很方便的进行安装。
1.列出所有可更新的软件清单
命令:yum check-update
2.安装所有更新软件
命令:yum update
3.仅安装指定的软件
命令:yum install <package_name>
4.仅更新指定的软件
命令:yum update <package_name>
5.列出所有可安裝的软件清单
命令:yum list
用YUM安装删除软件
装了系统添加删除软件是常事,yum同样可以胜任这一任务,只要软件是rpm安装的。
安装的命令是,yuminstallxxx,yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突,那么最好,下载安装;如果有,则会给出提示,询问是否要同时安装依赖,或删除冲突的包,你可以自己作出判断。
删除的命令是,yumremovexxx,同安装一样,yum也会查询数据库,给出解决依赖关系的提示。
1.用YUM安装软件包
命令:yum install <package_name>
2.用YUM删除软件包
命令:yum remove <package_name>
用YUM查询软件信息
我们常会碰到这样的情况,想要安装一个软件,只知道它和某方面有关,但又不能确切知道它的名字。这时yum的查询功能就起作用了。你可以用yumsearchkeyword这样的命令来进行搜索,比如我们要则安装一个InstantMessenger,但又不知到底有哪些,这时不妨用yumsearchmessenger这样的指令进行搜索,yum会搜索所有可用rpm的描述,列出所有描述中和messeger有关的rpm包,于是我们可能得到gaim,kopete等等,并从中选择。
有时我们还会碰到安装了一个包,但又不知道其用途,我们可以用yuminfopackagename这个指令来获取信息。
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>
清除YUM缓存
yum会把下载的软件包和header存储在cache中,而不会自动删除。如果我们觉得它们占用了磁盘空间,可以使用yumclean指令进行清除,更精确的用法是yumcleanheaders清除header,yumcleanpackages清除下载的rpm包,yumcleanall一股脑儿端
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)
原文出处:http://blog.csdn.net/tianlesoftware/article/details/5092720