Linux包管理:rpm与yum

来自Wikioe
Eijux讨论 | 贡献2020年10月15日 (四) 19:16的版本 →‎包命名规则
跳到导航 跳到搜索


RPM

RPM 即“RedHat Package Manager”,由RedHat公司开发并被广大Linux发行版所应用(如:Fedora,CentOS,SuSE等)。
特点:

  • 需要安装的软件已经编译过,打包成RPM机制的安装包(.rpm),并通过里头默认的数据库记录这个软件安装时需要的依赖软件;
  • 安装时,RPM会根据安装包里面的依赖关系,查询系统中是否满足相应的条件,如果满足则安装,否则会报错。
  • 安装后,RPM会把该软件的信息写入到主机RPM的数据库中,以便将来的查询、验证、升级和卸载等操作。

缺点:

  • 软件包安装的环境必须与打包时的环境一致或相当
  • 必须安装了软件的依赖软件
  • 卸载时,最底层的软件不能先移除,否则可能造成整个系统不能用

为了解决RPM属性依赖的问题,可以使用YUM进行操作。

原理

RPM安装原理图.png

包命名规则

“软件名称-版本号-发布次数.适合linux系统.硬件平台.rpm”
RPM包命名规则.png

  • rpm 操作未安装的软件包使用的是包全名,如“ftp-0.17-74.fc27.i686.rpm”;
  • rpm 操作已安装的软件使用的是包名,如“ftp”;

安装路径

yum

YUM 即 “Yellow dog Updater, Modified”,基于 RPM 包管理的前端工具,YUM 可以看作是CS架构的软件,能够从指定的服务器自动下载 RPM 包并且安装,并自动处理依赖性关系,一次安装所有依赖的软体包。

  • YUM的存在很好的解决了RPM的属性依赖问题。提供了查找、安装、删除某一个、一组甚至全部软件包的命令。
  • YUM 通过依赖rpm软件包管理器, 实现了rpm软件包管理器在功能上的扩展, 因此YUM是不能脱离rpm而独立运行的。

特点:

  • 可以同时配置多个资源库(Repository)
  • 简洁的配置文件(/etc/yum.conf)
  • 自动解决增加或删除rpm包时遇到的依赖性问题
  • 使用方便
  • 保持与RPM数据库的一致性

原理

配置文件

容器查询

配置文件修改

RPM 命令

YUM 命令