在升级过程中,rpm如何知道要删除哪些文件?

时间:2018-04-03 22:42:21

标签: upgrade rpm rpm-spec

我是包装新手。

This website表示升级过程中的步骤为:

因此,升级期间的操作顺序为:

  1. 运行正在安装的RPM的%pre部分。
  2. 安装RPM提供的文件。
  3. 运行RPM的%post部分。
  4. 运行旧包的%preun。
  5. 删除未被较新版本覆盖的所有旧文件。 (此步骤删除新包不需要的文件。)
  6. 运行旧包的%postun挂钩。
  7. 关于第5步,它究竟如何确定应删除哪些文件?它是否只删除属于旧版本%install/%post步骤的文件?或者安装目录中的任何文件(如果“安装目录”的概念甚至有意义)是不是新版本%install/%post的一部分被删除了吗?

2 个答案:

答案 0 :(得分:2)

%files部分列出的文件。这就是他们需要明确给出的原因。

你没有提到,如果他们被标记为%config,他们就不会被覆盖。

答案 1 :(得分:0)

RPM会比较%files部分的列表。如果旧包中包含%files中列出的某个文件且新包没有,则会将其删除。如果两个软件包都列出了它,则rpm不会删除它。