RPM 与基于 Tar 的安装

RPM Vs Tar based Installation

我对 Linux 管理的了解有限,因此想在这里查看使用 rpm 包安装任何 RHEL/CentOS Linux 软件与通过 [=16 安装相比的优缺点=] 个文件。

谢谢

优缺点的非详尽列表:

rpm

  • 智能依赖管理
  • 冲突检查
  • 允许轻松干净地卸载
  • 允许升级/降级
  • 列出包所拥有的所有文件
  • 一个中央数据库,其中包含所有已安装的软件包、它们拥有哪些文件、它们的相互依赖关系

来源

  • 你自己选择所有编译器标志
  • 您可以选择自定义安装路径

我已经尝试解释了差异,优缺点,

Tar

基本上 tar 是 Linux 中的旧处理方式。我们可以说它在创建 Linux 时就存在。 通常tar由Source Code组成,需要编译成二进制格式供我们使用。

优点:

使用 tar 软件包,您可以更好地控制所安装的程序。 如果你想要避免某些部分,你可以在旅途中做到这一点。哪个让你占上风。

缺点:

主要问题在于安装包的可维护性。 他们很难管理。一旦安装,就无法管理该软件,除非并且直到它有完整的文档记录。也很难对它们进行版本控制,并且您对所拥有的软件版本一无所知。可能的原因是文件的非索引性质。这些文件可能分布在您的文件系统中,这使得删除或升级它变得困难。

难以自动化。 由于维护包的复杂性,也很难实现自动化。

下面我试着解释了 tar 文件是如何编译的,以便更好地理解,

准备(设置)构建环境

./configure

此脚本有许多您应该更改的选项。像 --prefix 或 --with-dir=/foo。这意味着每个系统都有不同的配置。还 ./configure 检查应该安装的缺失库。这里的任何错误都会导致无法构建您的应用程序。这就是为什么发行版的软件包安装在不同的地方,因为每个发行版都认为将某些库和文件安装到某些目录会更好。据说是运行 ./configure,其实你应该一直改。

构建系统

制作

这实际上是默认make all。每个品牌都有不同的动作要做。一些进行构建,一些在构建后进行测试,一些进行外部 SCM 存储库的检查。通常您不必提供任何参数,但有些包会以不同的方式执行它们。

安装到系统

进行安装

这会将包安装在配置指定的位置。如果你愿意,你可以指定 ./configure 指向你的主目录。但是,许多配置选项都指向 /usr 或 /usr/local。这意味着您实际上必须使用 sudo make install 因为只有 root 可以将文件复制到 /usr 和 /usr/local.

请阅读以下内容link以获取有关上述命令的更多信息

Why always ./configure; make; make install; as 3 separate steps?

每分钟转数

RPM 包管理器 (RPM) 是一个开放的打包系统,

RPM 打包预编译二进制包(以及源码包),轻松一键安装体验。 RPM 本身不管理依赖关系和解决冲突。当与 Yum 或 PackageKit 结合时,它将解决包的所有依赖关系。

RPM 使系统更新变得容易。安装、卸载和升级 RPM 包可以用简短的命令完成。 RPM 维护一个已安装包及其文件的数据库,因此您可以在您的系统上调用强大的查询和验证。在升级过程中,RPM 会小心处理配置文件,这样您就不会丢失您的定制,这是您无法通过常规 .tar 文件实现的。

RPM 功能可以验证包。如果您删除了某个包的重要文件,您可以验证该包。如果有任何更改,您将收到通知——此时您可以根据需要重新安装该软件包。您修改的任何配置文件都将在重新安装期间保留。

优点:

安装、重新安装、删除、升级和验证包

使用已安装包的数据库来查询和验证包

使用元数据来描述包、它们的安装说明等

将原始软件源打包成源码包和二进制包

将包添加到 Yum 存储库

对您的包进行数字签名

查询包(如果包在您的本地文件系统上或安装包之后)

正在验证包(检查包是否在安装之前或之后被篡改)。

缺点

不像 tar 那样可定制。

例如可用性:我们将看到如何使用 Tar 或 rpm 安装包:

在Tar中:

$ tar xvf package.tar
$ cd package
$ ./configure --prefix=PREFIX
$ make
$ make install

每分钟转数:

rpm -U package-2.4.x-1.i686.rpm

就这么简单!!

主要看可用性和使用目的。

它们各有优缺点,这取决于我们如何使用它以及我们使用它的目的。

我知道这很长的解释,这将如何给你清晰的画面。我知道还有更多未触及的,例如架构和执行。我不太有信心在这里解释这些。

简单来说,您可以说 rpm 是预先打包的二进制文件。他们准备好了,它会为你做一切。但是要安装 rpm 和 deb,您需要成为 root 用户才能拥有一些写权限。这在系统中留下了一些严重的安全漏洞。您可能在不知不觉中安装了 Torjan 木马。此外,如果软件包搞砸了,它们可能会导致安装完全失败。 我个人建议使用 tar,因为您可以更好地控制。这是老派,我知道,这就是为什么有点困难,但在我看来最好的方法。 您可以进一步参考link: https://tldp.org/HOWTO/Software-Building-HOWTO-4.html