一、简介
- 在
Linux
系统中,软件的管理方式有三种:rpm
、yum
、编译方式
。 yum
,是Yellow dog Updater, Modified
的简称,是杜克大学为了提高RPM
软件包安装性而开发的一种软件包管理器。起初是由yellow dog
这一发行版的开发者Terra Soft
研发,用python
写成,那时还叫做yup(yellow dog updater)
,后经杜克大学的Linux@Duke
开发团队进行改进,遂有此名。yum
的宗旨是自动化地升级,安装/移除rpm
包,收集rpm
包的相关信息,检查依赖性并自动提示用户解决。yum
的关键之处是要有可靠的repository
,顾名思义,这是软件的仓库,它可以是http
或ftp
站点,也可以是本地软件池,但必须包含rpm
的header
,header
包括了rpm
包的各种信息,包括描述,功能,提供的文件,依赖性等。正是收集了这些header
并加以分析,才能自动化地完成余下的任务。yum
的理念是使用一个中心仓库(repository
)管理一部分甚至一个distribution
的应用程序相互关系,根据计算出来的软件依赖关系进行相关的升级、安装、删除等等操作,减少了Linux
用户一直头痛的dependencies
的问题。这一点上,yum
和apt
相同。apt
原为debian
的deb
类型软件管理所使用,但是现在也能用到RedHat
门下的rpm
了。yum
主要功能是更方便的添加/删除/更新RPM
包,自动解决包的倚赖性问题,便于管理大量系统的更新问题。yum
可以同时配置多个资源库(Repository
),简洁的配置文件(/etc/yum.conf
),自动解决增加或删除rpm
包时遇到的依赖性问题,保持与RPM
数据库的一致性。CentOS
默认已经安装了yum
,不需要另外安装。
二、rpm
与 yum
的关系与优缺点
yum
是对rpm
的封装升级,yum
基于rpm
。rpm
优点:
对于软件包的操作比较简单,通过简单指令即可操作。rpm
缺点:
安装时需要自行下载软件包,安装、卸载软件时需要考虑到依赖关系,软件的自定义性比较差,不适合有特殊需求的场景。yum
优点:
快速、傻瓜式的软件管理方式,在联网情况下,自动从服务器上下载软件包(内、外网服务器均可),自动解决软件依赖关系yum
缺点:
因其底层实为rpm
操作,所以也丧失了对软件的自定义功能。
三、使用(常用语法)
- 搜索/查询(
[]
为可选字段)
// 根据关键词搜索服务器上的包资源 $ yum search [all] 关键字 // 列出所有的软件,包含已经安装的和可供安装的(不加关键词列出全部,加关键词列出指定的软件) $ yum list [关键字] // 列出当前已经安装的软件(不加关键词列出全部,加关键词列出指定的软件) $ yum list installed [关键字]
- 安装
// 安装指定的软件 // 通常安装软件,会询问是否要安装,加上 -y 则不会询问,算是你选择了 yes 直接安装。 // -y 与 install 的顺序可以颠倒,谁前谁后都可以。 $ yum [-y] install 关键词
- 卸载
// 卸载指定的软件 // 通常卸载软件,会询问是否要卸载,加上 -y 则不会询问,算是你选择了 yes 直接卸载。 // -y 与 remove 的顺序可以颠倒,谁前谁后都可以。 $ yum [-y] remove 关键词
- 更新(过程时间有点久)
// 更新整个系统,包含内核 $ yum [-y] update // 更新指定软件 $ yum [-y] update 关键字