centos RPM与基于Tar的安装

waxmsbnn  于 2022-11-07  发布在  其他
关注(0)|答案(3)|浏览(234)

我对Linux管理的知识是有限的,因此想在这里检查一下使用rpm包安装任何RHEL/CentOS Linux软件的利弊,而不是通过tar/zip文件安装。
谢谢

xxe27gdn

xxe27gdn1#

一个非详尽的正反两方面的清单:

每分钟转数

  • 智能依赖性管理
  • 冲突检查
  • 允许轻松、干净地卸载
  • 允许升级/降级
  • 列出软件包拥有的所有文件
  • 一个中央数据库,其中包含安装的所有软件包、它们拥有的文件、它们之间的相互依赖关系
    来自源
  • 您自己选择所有编译器标志
  • 您可以选择自定义安装路径
zkure5ic

zkure5ic2#

  • 我试着解释两者的区别,利弊 *

焦油

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

优点:

使用tar包你可以更好的控制你安装的程序。如果你想避免某些部分,你可以在路上做。这给了你优势。

缺点:

主要的问题是安装的软件包的可维护性。它们很难管理。一旦你安装了软件,就没有办法管理软件,除非它有很好的文档。也很难对它们进行版本控制,你对你所拥有的软件版本是空白的。可能的原因是文件的非索引性质。文件可能会分散在你的文件系统中,这使得很难将其移除或升级。
很难自动化。由于维护软件包的复杂性,它也很难自动化。
下面我试着解释tar文件是如何编译的,

准备(设置)用于构建的环境

./配置

这个脚本有很多你应该修改的选项。比如--prefix或者--with-dir=/foo。这意味着每个系统都有不同的配置。另外./configure检查应该安装的库是否缺失。这里的任何错误都会导致不能构建你的应用程序。这就是为什么发行版有安装在不同位置的包。因为每个发行版都认为把特定的库和文件安装到特定的目录下会更好。据说它运行./configure,但实际上你应该经常改变它。

构建系统

制造

默认情况下,这实际上是make all。每个make都有不同的操作要做。有些执行构建,有些在构建后执行测试,有些从外部SCM库 checkout 。通常你不需要给予任何参数,但有些包执行它们的方式也不同。

安装到系统

进行安装

这会将软件包安装到configure指定的位置。如果需要,您可以指定./configure指向您的主目录。但是,许多configure选项指向/usr或/usr/local。这意味着您必须使用sudo make install,因为只有root用户可以将文件复制到/usr和/usr/local。
有关上述命令的详细信息,请访问以下链接
Why always ./configure; make; make install; as 3 separate steps?

RPM

RPM软件包管理器(RPM)是一个开放的打包系统,
RPM程序包包含预编译的二进制程序包(以及源程序包),可实现简单的一键安装体验。RPM本身并不管理相关性和解决冲突。与Yum或PackageKit结合使用时,它将解决程序包的所有相关性。
RPM使系统更新变得简单。安装、卸载和升级RPM软件包可以通过简短的命令完成。RPM维护一个包含已安装软件包及其文件的数据库,因此您可以在系统上调用功能强大的查询和验证。在升级过程中,RPM会仔细处理配置文件,因此您永远不会丢失常规.tar文件无法完成的自定义。
RPM功能具有验证程序包的功能。如果删除了某个程序包的重要文件,则可以验证该程序包。如果有更改,您将收到通知-如果需要,您可以在此时重新安装程序包。在重新安装过程中,您修改的任何配置文件都将保留。

优点:

安装、重新安装、删除、升级和验证软件包
使用已安装软件包的数据库来查询和验证软件包
使用元数据来描述软件包及其安装说明等
将原始软件源打包为源代码包和二进制包
将软件包添加到Yum存储库
对软件包进行数字签名
查询软件包(如果软件包位于本地文件系统上,或者在安装软件包之后)
验证软件包(在安装之前或之后检查软件包是否被篡改)。

缺点

不像tar那样可定制。
例如关于可用性:我们将看到如何使用Tar或rpm安装软件包:
焦油中的###:

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

单位:RPM:

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

就这么简单!!。
它基本上取决于可用性和您的使用目的。
它们中的每一个都有它的优点和缺点,这取决于我们如何使用它以及使用它的目的。

  • 我知道这是一个很长的解释,这将如何给予你清晰的画面。我知道有更多的未触及,如架构和执行。我不是很有信心在这里解释这些。*
ejk8hzay

ejk8hzay3#

简单地说,rpm是预打包的二进制文件,它们随时可以运行,它可以为你做所有的事情。2但是要安装rpm和deb,你必须是root才能有一些写权限。3这会在系统中留下一些严重的安全漏洞。4你可能在不知不觉中安装了一个Torjan horse。5同样,如果软件包被搞砸了,它们可能会导致安装完全失败。我个人建议使用tar,因为你可以更好的控制。我知道,这是老式的,这就是为什么有点困难,但在我看来,最好的方式去。你可以进一步参考链接:https://tldp.org/HOWTO/Software-Building-HOWTO-4.html

相关问题