【问题标题】:Installing multiple multiple versions with rpm使用 rpm 安装多个版本
【发布时间】:2018-07-01 09:45:07
【问题描述】:

如何在 linux rpm 中指定新包的目标路径?

示例: rpm --install kibana-6.0.1-x86_64.rpm 将安装:rpm -qa:kibana-6.0.1-1.x86_64 它将位于 /usr/share/kibana

下一次安装 rpm --install kibana-6.0.2-x86_64.rpm 将位于同一个 /usr/share/kibana 中。

我更喜欢他们以 /usr/share/kibana-xxx

的身份生活在一起

问候,

【问题讨论】:

    标签: rpm


    【解决方案1】:

    注意:正如 OP 所建议的,SoftwareCollection 看起来很有希望。它不支持kibana 并解释它如何做到这一点超出了这个答案。

    rpm 解压缩并安装包,因为包是在其规范文件中设计的。根据您的操作,您可以查看命令rpm2cpio,它将.rpm 文件解压到工作目录中。然后,您可以将文件移动到您想要的任何目录。

    # Download the rpm to a local directory, /tmp/kibana-6.0.2    
    $ cd /tmp/kibana-6.0.2
    
    # Following will untar kibana-6.0.2 assuming / directory is /tmp/kibana-6.0.2
    $ rpm2cpio kibana-6.0.2-x86_64.rpm | cpio -idum  # man cpio for option details
    

    kibana-6.0.1 重复该过程。注意,rpm2cpio 命令不会改变rpmdb,因此这个操作对于rpm -qa | grep kibana 命令是不可见的。

    【讨论】:

    • 和放等效的 *tar.gz 一样吗?还是在实践中有一些优势?在这种情况下管理 XX_HOME 环境变量的良好做法是什么?
    • 如果你的意思是源压缩包,是的,有区别。源 tarball 将没有任何已构建的文件(在打包期间),而 rpm2cpio 将拥有它。
    【解决方案2】:

    更系统的方法是使用Software Collections。在该站点上已经存在一些集合(例如 python33),并且有文档说明如何创建您自己的集合。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-07
      • 1970-01-01
      • 2015-04-30
      • 1970-01-01
      • 2019-05-11
      • 1970-01-01
      • 2011-09-28
      • 1970-01-01
      相关资源
      最近更新 更多