RPM 与 DPKG 简介

Posted Li-Yongjun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RPM 与 DPKG 简介相关的知识,希望对你有一定的参考价值。

文章目录

发布

发布源码

在 Linux 的发展过程中,出现了很多开源软件,它们都会使用 tarball 来发布源代码。

发布安装包

而 Linux 发行厂商或社区则会将这些源代码在特定的硬件编译后,将安装所需的文件打包成一个特殊的格式并发布。

软件管理机制

被发布的软件就是一个适用于指定 Linux 发行版本的安装包,用户可以通过安装命令进行安装。在安装包中,会包含检测系统与软件依赖的脚本,在安装前进行环境检测,若符合安装条件,就会安装该软件。
软件安装后还会将相关信息写入软件管理机制中,以便将来进行软件的升级或删除等。

软件管理器

通过源码编译安装的方式,可以将相同的软件安装在几乎所有的 Linux 发行版。但编译过程比较长,安装过程比较繁琐。如果能像 Windows 那样,由开发者将源码在已知的环境中配置并编译好,而用户直接安装会省很多力气。
这时,软件管理器应运而生。软件管理器是 Linux 发行厂商或社区提供,可以在特定的 Linux 发行版本上,进行软件安装、卸载、升级、验证等功能的软件管理程序。
在 Linux 系统中主要有两种软件管理器,分别是 RedHat 的 RPM 和 Debian 的 DPKG

  • RPM - 由 Red Hat 公司开发,Fedora、CentOS 等发行版本都使用该软件管理器。
  • DPKG - 由 Debian 社区开发,Ubuntu 等发现版本都是用该软件管理器。

yum 与 apt

无论是 RPM 还是 DPKG,都会遇到软件依赖问题。如,安装软件 A 时,需要先安装软件 B,而安装软件 B 又要先安装软件 C。因此,需要一种依赖管理机制。
RPM 和 DPKG 都提供了在线升级机制,能够从指定的服务器自动下载安装包,并能自动处理依赖关系,且可以一次性自动安装软件及其依赖。
在 RPM 中,使用 yum 命令进行软件安装、依赖管理、在线升级等。
而在 DPKG 中,则使用 apt。

RPM 软件管理器

RPM(Red-Hat Package Manager,红帽软件包管理器),遵循 GPL 规则且功能强大方便,让 Linux 软件更加易于安装、升级。
RPM 是一种预编译后的打包文件,其编译打包后的软件格式为 .rpm。通过 RPM 安装软件的方式类似如下:

rmp -ivh your-package.rpm

RPM 具有以下优点:

  • RPM 包含了已编译的程序及配置文件,省去了用户编译的过程
  • RPM 在安装前会检查系统软硬件信息,避免软件被错误安装
  • RPM 文件本身提供了版本、软件依赖、软件用途等信息,方便了解软件信息
  • RPM 使用数据库记录了 RPM 文件的相关参数,方便升级、删除、查询等后期操作

SRPM-源码格式的RPM包

RPM 安装的是编译后的二进制软件安装包,这些安装包只能适用特定的 Linux 发行版,甚至相同发行版的不同版本。RPM 安装包要安装成功有一些必要,如:软件安装环境必须与打包环境一致、要满足软件依赖。

如果想使用其它发行版的软件该怎么办呢?这时可以使用 SRPM(Source RPM),SRPM 中包含了软件的源文件,SRPM 安装包通常使用 *.src.rpm 的命名方式。与Tarball不同,除了软件源代码外,SRPM 中还包含了软件配置文件(configure和makefile)。使用 SRPM 安装软件通常分为以下两步:

  1. 将软件源码编译为 RPM 文件
  2. 将 RPM 文件安装到系统中

相对于 RPM 来说,SRPM 有一定的好处,就是可以通过修改参数配置,生成自定义的 RPM 文件。

DPKG

DPKG(Debian Pakager),是由 Debian 开发的一套管理套件。
DPKG 使用 .deb 作为预编译安装文件格式,通过 DPKG 安装软件的方式类似如下:

dpkg -i your-package.deb

apt

DPKG 提供了软件管理机制,但它并不具备在线安装、依赖管理等功能。而 apt 用于远程软件包的获取、依赖关系处理及安装管理等。

以上是关于RPM 与 DPKG 简介的主要内容,如果未能解决你的问题,请参考以下文章

RPM 与 DPKG 简介

RPM 与 DPKG 使用

RPM 与 DPKG 使用

RPM 与 DPKG 使用

程序包管理之rpm

Centos 下安装软件的方法--rpm简介