【问题标题】:Allow files from an RPM package to be overwritten by another rpm package允许 RPM 包中的文件被另一个 rpm 包覆盖
【发布时间】:2017-03-22 20:03:08
【问题描述】:

我正在制作一个RPM,这是在一个非常受控的环境中,所以我们还假设允许另一个RPM 包覆盖原始RPM 包中包含的某些文件是安全的。

我从经验中知道,如果您尝试安装覆盖另一个 RPM 软件包文件的 RPM 软件包,您会收到一条警告,指出存在冲突并且安装失败(是的,您可以进行一些命令行黑客操作,但那是不适合这种情况)。

有没有办法通过原始RPMspec 文件指定这些文件不是包的一部分,它们可以被另一个RPM 包覆盖,还是严格禁止发生这种情况?

【问题讨论】:

  • 我不知道。他们是否参与其中。
  • 如果您控制两者的构建,您可以将一个作为另一个的子包。这样他们就不会再发生冲突了。那是我唯一一次看到类似的作品。

标签: linux rpm overwrite rpmbuild rpm-spec


【解决方案1】:

有什么方法可以通过原始 RPM 包规范文件指定这些文件不是包的一部分,它们可以被另一个 RPM 包覆盖,还是严格禁止发生这种情况?

您可以为此目的使用%ghost 指令。

http://ftp.rpm.org/max-rpm/s1-rpm-inside-files-list-directives.html

【讨论】:

  • 这与所要求的相反。问题是关于在 RPM 中包含一个文件但不拥有它。 %ghost 指令是关于拥有一个文件,但不包括在 RPM 中。文档中给出的示例是一个日志文件。不过,这是一个有用的指令。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-23
  • 2019-07-14
  • 2018-10-20
  • 2020-03-20
  • 2011-06-05
  • 1970-01-01
相关资源
最近更新 更多