当安装 RPM 包导致摘要不匹配错误时该怎么办?

当安装 RPM 包导致摘要不匹配错误时该怎么办?
fatal: [server_hostname]: FAILED! => { "changed": true, "cmd": [ "rpm", "--install", "--force", "--replacefiles", "--nodigest", "--nosignature", "/path/to/directorycheck-mk-agent-2.2.0p12-a7d0a8ccb7c75fc3.noarch.rpm" ], "delta": "0:00:00.097047", "end": "2023-11-07 14:18:21.430416", "msg": "non-zero return code", "rc": 1, "start": "2023-11-07 14:18:21.333369", "stderr": "error: unpacking of archive failed on file /etc/check_mk/super-server.cfg;654a8d7d: cpio: Digest mismatchnerror: check-mk-agent-2.2.0p12-1.a7d0a8ccb7c75fc3.noarch: install failed", "stderr_lines": [ "error: unpacking of archive failed on file /etc/check_mk/super-server.cfg;654a8d7d: cpio: Digest mismatch", "error: check-mk-agent-2.2.0p12-1.a7d0a8ccb7c75fc3.noarch: install failed" ], "stdout": "", "stdout_lines": [] }

我已经尝试重新下载该软件包以排除损坏并验证了校验和。该错误仅在这两台服务器上持续存在,并且我可以检测到 RPM 数据库没有明显问题。 --nodigest 选项似乎没有按预期绕过该问题。

我正在寻求以下方面的建议或见解:

  1. 即使使用 --nodigest 选项,什么也可能导致特定服务器上出现摘要不匹配错误?
  2. RPM 或特定系统配置是否存在可能导致此类问题的已知问题?
  3. 当遇到摘要不匹配时,是否有更推荐的方法来强制安装 RPM 包?

注意:这是 chatgtp 给出的错误原因:您看到的错误消息表明 RPM 安装由于文件 /etc/check_mk/super-server.cfg 上的“摘要不匹配”而失败。这意味着 RPM 包内文件的校验和与 rpm 命令计算的预期校验和不匹配。以下是导致此问题的一些可能原因:

  • RPM 包损坏:RPM 文件可能在下载、传输或存储过程中已损坏。这可能会导致校验和与 rpm 命令期望的不匹配。
  • 更改的配置文件:如果在创建 RPM 后配置文件 /etc/check_mk/super-server.cfg 被手动更改或篡改,则其摘要将不再与 RPM 数据库中存储的摘要匹配。(尚未被修改)已更改)
  • 具有不同内容的现有文件:可能存在来自先前安装或其他源的现有 /etc/check_mk/super-server.cfg 文件具有不同的内容,从而在 RPM 尝试安装其版本时导致冲突。 (如何查看以前的版本?)
  • 不正确的 RPM 版本:如果您尝试安装不适合您的特定系统或版本的 RPM,则它可能包含不兼容的文件,从而导致摘要不匹配。

相关内容