- linux/
- Linux RPM与基于Tar的安装
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