Centos 7的软件管理方式RPM和YUM

Centos 7的软件管理方式RPM和YUM

Scroll Down

Centos 7 的软件管理通常有两种方式:RPM和YUM.

1.jpg

RPM和YUM

RPM红帽软件包

在RPM(红帽软件包管理器)公布之前,要想在Linux系统中安装软件只能采取源码包的方式安装。早期在Linux系统中安装程序是一件非常困难、耗费耐心的事情,而且大多数的服务程序仅仅提供源代码,需要运维人员自行编译代码并解决许多的软件依赖关系,因此要安装好一个服务程序,运维人员需要具备丰富知识、高超的技能,甚至良好的耐心。而且在安装、升级、卸载服务程序时还要考虑到其他程序、库的依赖关系,所以在进行校验、安装、卸载、查询、升级等管理软件操作时难度都非常大。

RPM全名是Red Hat Package Manager,机制则为解决这些问题而设计的。RPM有点像Windows系统中的控制面板,会建立统一的数据库文件,详细记录软件信息并能够自动分析依赖关系。目前RPM的优势已经被公众所认可,使用范围也已不局限在红帽系统中了。

RPM的用途有以下几点:

  1. 安装、删除、升级和管理软件;当然也支持在线安装和升级软件;
  2. 通过RPM包管理能知道软件包包含哪些文件,也能知道系统中的某个文件属于哪个软件包;
  3. 可以在查询系统中的软件包是否安装以及其版本;
  4. 作为开发者可以把自己的程序打包为RPM 包发布;
  5. 软件包签名GPG和MD5的导入、验证和签名发布
  6. 依赖性的检查,查看是否有软件包由于不兼容而扰乱了系统;

常用的RPM软件包命令

安装软件的命令格式

rpm -ivh filename.rpm

升级软件的命令格式

rpm -Uvh filename.rpm

卸载软件的命令格式

rpm -e filename.rpm

查询软件描述信息的命令格式

rpm -qpi filename.rpm

列出软件文件信息的命令格式

rpm -qpl filename.rpm

查询文件属于哪个RPM的命令格式

rpm -qf filename

Yum软件仓库

尽管RPM能够帮助用户查询软件相关的依赖关系,但问题还是要运维人员自己来解决,而有些大型软件可能与数十个程序都有依赖关系,在这种情况下安装软件会是非常痛苦的。Yum软件仓库便是为了进一步降低软件安装难度和复杂度而设计的技术。Yum软件仓库可以根据用户的要求分析出所需软件包及其相关的依赖关系,然后自动从服务器下载软件包并安装到系统。

2.jpg

Yum软件仓库的技术拓扑

Yum软件仓库中的RPM软件包可以是由红帽官方发布的,也可以是第三方发布的,当然也可以是自己编写的。

常见的Yum命令

列出所有仓库

yum repolist all

列出仓库中所有软件包

yum list all

显示可安装软件包

yum list available

软件包名称查看软件包信息

yum info 

软件包名称安装软件包

yum install 

显示可更新或已安装的程序包

yum list updates
yum list installed

软件包名称重新安装软件包

yum reinstall 

软件包名称移除软件包

yum remove 

清除所有仓库缓存

yum clean all

检查可更新的软件包

yum check-update

查看系统中已经安装的软件包组

yum grouplist

软件包组安装指定的软件包组

yum groupinstall

软件包组移除指定的软件包组

yum groupremove

软件包组查询指定的软件包组信息

yum groupinfo