升级时强制 RPM 检查物理文件
Force RPM to examine physical files when Upgrading
tldr;当 'upgrading' 带有 -U 的软件包时,是否可以强制 RPM 检查磁盘上的物理文件是否有更改?
现状:
- 安装 rpm a1
- 一个应用程序修改了 a1 中的文件。
rpm -V a
显示正在修改的文件。
- 安装 rpm a2(使用 -U:升级)。这个 rpm 包含与 a1 大部分相同的文件(它是下一个版本,只有一些文件被更改)
rpm -V a
表明只有一些文件没有恢复到 a2 rpm 中的状态。
我最好的猜测是 rpm 只将已安装的包 a1 中的文件的 md5 与包 a2 中的文件进行比较,只有当 md5 不匹配时它才会查看物理文件。
我如何强制 rpm 查看所有文件,就像 -V 一样?
修改文件的示例输出:
/ # rpm -V a
missing c /xxx/config/xyz.ini
S.5....T c /xxx/config/foo.xml
S.5....T c /xxx/config/firmware/xx.cfw
S.5....T c /xxx/config/bar.txt
S.5....T c /xxx/config/bar.xml
rpm -qc 会列出它们。
您描述的行为是 RPM 规范文件中标记为 %config(noreplace)
的文件的正确行为。由于该营销向 rpm 表明该文件旨在由 user/sysadmin 修改,不应在软件包升级时自动替换。
我会检查这些文件是否在规范文件中以这种方式列出,以及这是否是这些文件的正确标记。
tldr;当 'upgrading' 带有 -U 的软件包时,是否可以强制 RPM 检查磁盘上的物理文件是否有更改?
现状:
- 安装 rpm a1
- 一个应用程序修改了 a1 中的文件。
rpm -V a
显示正在修改的文件。- 安装 rpm a2(使用 -U:升级)。这个 rpm 包含与 a1 大部分相同的文件(它是下一个版本,只有一些文件被更改)
rpm -V a
表明只有一些文件没有恢复到 a2 rpm 中的状态。
我最好的猜测是 rpm 只将已安装的包 a1 中的文件的 md5 与包 a2 中的文件进行比较,只有当 md5 不匹配时它才会查看物理文件。 我如何强制 rpm 查看所有文件,就像 -V 一样?
修改文件的示例输出:
/ # rpm -V a
missing c /xxx/config/xyz.ini
S.5....T c /xxx/config/foo.xml
S.5....T c /xxx/config/firmware/xx.cfw
S.5....T c /xxx/config/bar.txt
S.5....T c /xxx/config/bar.xml
rpm -qc 会列出它们。
您描述的行为是 RPM 规范文件中标记为 %config(noreplace)
的文件的正确行为。由于该营销向 rpm 表明该文件旨在由 user/sysadmin 修改,不应在软件包升级时自动替换。
我会检查这些文件是否在规范文件中以这种方式列出,以及这是否是这些文件的正确标记。