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": [] }

破損を排除するために、パッケージを再ダウンロードし、チェックサムを確認しました。エラーはこれら2つのサーバーでのみ持続し、RPMデータベースには明らかな問題がありません。 --nodigest オプションは、予想通り問題を迂回しないようです。

私は次のアドバイスや洞察を探しています。

  1. --nodigestオプションを使用しても、特定のサーバーでダイジェストミスマッチエラーが発生する原因は何ですか?
  2. この種の問題を引き起こす可能性があるRPMまたは特定のシステム構成に既知の問題がありますか?
  3. ダイジェストの不一致が発生したときにRPMパッケージを強制的にインストールするためのより推奨される方法はありますか?

注: これは chatgtp が提供するエラーの理由です。表示されるエラー メッセージは、/etc/check_mk/super-server.cfg ファイルの「ダイジェストの不一致」によって RPM のインストールが失敗したことを示します。これは、RPMパッケージ内のファイルのチェックサムがrpmコマンドで計算された予想チェックサムと一致しないことを意味します。この問題の考えられる原因は次のとおりです。

  • 破損したRPMパッケージ:ダウンロード、転送、または保存中にRPMファイルが破損している可能性があります。これにより、チェックサムが rpm コマンドが期待するものと一致しないことがあります。
  • 変更された構成ファイル:RPMが作成された後、構成ファイル/etc/check_mk/super-server.cfgが手動で変更または改ざんされた場合、そのダイジェストはRPMデータベースに保存されたダイジェストと一致しなくなります。 (まだ修正されていません)変更されました)
  • 内容が異なる既存のファイル:以前のインストールの既存の/etc/check_mk/super-server.cfgファイルまたは内容が異なる他のソースがある可能性があり、RPMがそのバージョンをインストールしようとするとクラッシュする可能性があります。 (以前のバージョンを表示するにはどうすればよいですか?)
  • 無効なRPMバージョン:特定のシステムまたはバージョンに適していないRPMをインストールしようとすると、互換性のないファイルが含まれ、ダイジェストの不一致が発生する可能性があります。

ベストアンサー1

おすすめ記事