Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux RPM与基于Tar的安装_Linux_Centos_Tar_Rpm_Rhel - Fatal编程技术网

Linux RPM与基于Tar的安装

Linux RPM与基于Tar的安装,linux,centos,tar,rpm,rhel,Linux,Centos,Tar,Rpm,Rhel,我在Linux管理方面的知识有限,因此希望在此了解使用rpm软件包安装任何RHEL/CentOS Linux软件的优缺点,而不是通过tar/zip文件安装 谢谢一份非详尽的赞成和反对意见列表: rpm 智能依赖管理 冲突检查 允许轻松、干净地卸载 允许升级/降级 列出包拥有的所有文件 安装了所有软件包的中央数据库,它们拥有哪些文件,它们之间的相互依赖性 来源 您可以自行选择所有编译器标志 您可以选择自定义安装路径 我试图解释两者的区别、优点和缺点 焦油 基本上,tar是Linux中处理问题

我在Linux管理方面的知识有限,因此希望在此了解使用rpm软件包安装任何RHEL/CentOS Linux软件的优缺点,而不是通过tar/zip文件安装


谢谢

一份非详尽的赞成和反对意见列表:

rpm

  • 智能依赖管理
  • 冲突检查
  • 允许轻松、干净地卸载
  • 允许升级/降级
  • 列出包拥有的所有文件
  • 安装了所有软件包的中央数据库,它们拥有哪些文件,它们之间的相互依赖性
来源

  • 您可以自行选择所有编译器标志
  • 您可以选择自定义安装路径
我试图解释两者的区别、优点和缺点

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

优点:

使用tar软件包,您可以更好地控制所安装的程序。 如果你想避免吃某些食物,你可以边吃边吃。这让你占了上风

缺点:

主要问题在于安装的软件包的可维护性。 他们很难管理。一旦你安装了,就没有办法管理软件,除非它有很好的文档记录。它也很难版本他们和你留下空白的软件版本,你有。这可能是因为文件的非索引性质。这些文件可能分布在您的文件系统中,因此很难删除或升级

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

下面我试图解释如何编译tar文件以更好地理解

为建筑准备(设置)环境 /configure

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

构建系统 制造

这实际上是默认设置为“全部”。每个品牌都有不同的行动要做。有些进行构建,有些在构建后进行测试,有些从外部SCM存储库进行签出。通常您不必给出任何参数,但有些包的执行方式也不同

安装到系统中 进行安装

这将在使用configure指定的位置安装包。如果需要,可以指定./configure指向主目录。但是,很多配置选项都指向/usr或/usr/local。这意味着您必须使用sudomakeinstall,因为只有root用户才能将文件复制到/usr和/usr/local

有关上述命令的更多信息,请浏览下面的链接

转速 RPM包装管理器(RPM)是一个开放式包装系统

RPM软件包预编译的二进制软件包(以及源代码软件包),提供简单的一键式安装体验。RPM本身并不管理依赖关系和解决冲突。当与Yum或PackageKit结合使用时,它将解决包的所有依赖关系

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

RPM功能具有验证软件包的能力。如果删除了某个包的重要文件,则可以验证该包。您将收到更改通知(如果有),必要时可以重新安装软件包。在重新安装期间,将保留您修改的所有配置文件

优点:

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

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

使用元数据描述包及其安装说明等

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

将包添加到Yum存储库

对您的包进行数字签名

查询包(如果包位于本地文件系统上或安装包后)

验证程序包(检查程序包在安装之前或之后是否未被篡改)

缺点

不像焦油那样可定制

关于可用性:我们将看到如何使用Tar或rpm安装软件包:

焦油: 以RPM为单位: 就这么简单

这主要取决于可用性和使用目的

它们各有利弊,这取决于我们使用它的方式和目的


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

开发人员费尽心思开发RPM之类的包管理器,而不是简单地从源代码构建和安装,这是有原因的。主要原因是依赖关系和冲突检查。RPM提供每个包中每个已安装文件的数据库。当您添加/删除包时,RPM可以检查是否满足所有依赖项,以及mult之间是否存在任何冲突
$ tar xvf package.tar
$ cd package
$ ./configure --prefix=PREFIX
$ make
$ make install
rpm -U package-2.4.x-1.i686.rpm