1、yum的优势
虽然rpm命令是一个功能强大的软件包管理工具,rpm命令有两个缺点,一是需要下载适合你的升级软件包;二是检测到软件包的依赖关系时,只能手工配置。而yum可以自动解决软件包间的依赖关系,并且可以通过网络安装和升级软件包。
一个软件包需要一个或多个库,那么这个(些)库就是这个包的依赖。要正常安装软件包,首先要满足它的依赖关系,一个RPM包的依赖信息存放在这个RPM包中。yum使用软件包中的依赖关系信息,保证这个软件包在安装前,首先满足相应的条件,然后自动安装软件包。如果发生冲突,yum会自动放弃安装,不对系统做任何修改。
yum的优势:自动下载、自动检测、自动安装、自动配置、自动删除。
2、yum的产生
在RedHatEnterpriseLinux(RHEL从5.O版开始采用yum)、CentOS和Fedora等发行版中,采用了一种叫做yum的软件包管理工具。yum(Yellow dog Updater Modified)用python语言写成。yum的宗旨是收集rpm软件包的相关信息,检查依赖关系,自动地升级、 安装、删除rpm软件包。
yum的关键之处是要有可靠的repository(仓库),repository管理一部分甚至一个Linux发行版的应用程序的依赖关系,根据计算出来的依赖关系进行相关软件包的升级、安装、删除等操作,解决了Linux用户一直头痛的依赖关系问题。 repository可以是http或ftp站点,也可以是本地软件池,但必须包含rpm的header。header包括了rpm包的各种信息,包括描述、功能、提供的文件、依赖性等。正是收集了这些header并加以分析,才能自动地完成升级、安装软件包等任务。
yum的基本操作包括软件的安装(本地、网络)、升级(本地、网络)、卸载、查向。
1、用yum安装,删除软件
用yum安装、删除软件的命令见下表;
表:用yum安装、删除软件的命令
命 令
|
功 能
|
yum install<package_name> | 安装指定的软件,会查询repository,如果有这一软件包,则检查其依赖冲突关系,如果没有依赖冲突,那么下载安装;如果有,则会给出提示,询问是否要同时安装依赖,或删除冲突的包。 |
yum [-y] install<package_name> | 安装指定的软件。 |
yum [-y] remove<package_name> | 删除指定的软件,同安装一样,yum也会查询repomtory,给出解决依赖关系的提示。 |
yum [-y] erase<package_name> | 删除指定的软件。 |
如果要使用yum安装firefox,可以执行命令yum install firefox。
如果本地有rpm软件包,比如xxx.rpm,可以执行#yum localinstall xxx.rpm命令来安装。
说明: 如果不是root 用户,可执行命令:$su-c yum install firefox。
2、用yum检查、升级软件
用yum检查、升级软件的命令见下表。
表:用yum检查、升级软件的命令
命 令
|
功 能
|
yum cheek-update | 检查可升级的rpm包 |
yum update | 升级所有可以升级的rpm包 |
yum Update kernel kernel-source | 升级指定的rpm包,如升级kernel和kernelsource |
yum -y update软件包 | 升级所有的可升级的软件包,-y表示同意所有,不用一次次确认,避免 回答—些问题 |
yum update<package_name> | 仅升级指定的软件 |
yum upgrade | 大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级 |
3、用yum搜索、查询软件
用yum搜索、查询软件的命令见下表。
表: 用yum搜索、查询软件的命令
命 令
|
功 能
|
yum search<keyword> | 搜索匹配特定字符的rpm包 |
yum list | 列出资源库(YumRepository)中所有可以安装或更新的rpm包 |
yum list updates | 列出资源库中所有可以更新的rpm包 |
vum list installed | 列出所有已安装的rpm软件包 |
yum list extras | 列出所有已安装但不在资源库中的软件包 |
yum list<package_name> | 列出所指定的软件包 |
yum info<package name> | 使用YUM获取软件包信息 |
yum info updates | 列出资源库中所有可以安装或更新的rpm包的信息 |
yum info updates | 列出资源库中所有可以更新的rpm包的信息 |
yum info mstalled | 列出所有已安装的软件包的信息 |
yum info extras | 列出所有已安装但不在资源库中的软件包信息 |
yum provtdes<package name> | 列出软件包提供哪些文件 |
4、清除yum缓存
yum会把下载的软件包和header存储在cache中,而不会自动删除。如果觉得它们占用了磁盘空间,可以进行清除。清除yum缓存的命令见下表。
表: 清除yum缓存的命令
命 令
|
功 能
|
yum clean packages | 清除缓存目录(/var/cache/yufll)下的rpm软件包 |
yum clean headers | 清除缓存目录下的rpm头文件 |
yum clean oldheaders | 清除缓存目录下旧的rpm头文件 |
yumclean或yumcleanall |
清除缓存目录下的rpm软件包以及旧的rpm头文件
|