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
我对 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