【Linuxの問題解決】AlmaLinux 8系でdnfアップデートが失敗する3つの原因

almalinux-dnf-fail

 こんにちは。レムシステム株式会社のエンジニア、小村(@system_kom)です。今回の記事では、AlmaLinux 8系におけるdnfコマンドを使用したシステムのアップデート時に発生する可能性のある問題とその解決方法について説明します。サーバー運用管理をご検討中のお客様や、既にAlmaLinuxを使用されている方々におすすめです。

 AlmaLinuxは、CentOS 8の代替として注目を集めているエンタープライズ向けLinuxディストリビューションですが、アップデート時に予期せぬ問題が発生することがあります。特に、GPG鍵の変更時刻同期の問題など、一見単純そうで見落としがちな要因が、システムのアップデート作業を妨げる可能性があります。

 サーバーの安定的なアップデートは、システムセキュリティの継続性と効率性に直結する重要な要素です。本情報を活用することで、AlmaLinuxサーバーの信頼性を高め、運用管理の負担を軽減できるはずです。ぜひ最後までお読みいただき、日々のサーバー管理にお役立てください。

メールでのお問い合わせ

メールフォームからシステムの 知りたいことや問題点をお問い合わせ

メールで問い合わせる

電話でのお問い合わせ

電話でお気軽にお問い合わせください (受付時間:平日 月-金)

053-525-7357

dnfエラーの理由その1 古いGPG鍵を利用している

 AlmaLinux 8系のシステムアップデートが失敗するパターンとして多いものが古いGPG鍵を利用していることが挙げられます。これは2024年1月にAlmaLinuxがGPG鍵の変更を行ったことにより、古いAlmaLinux(8.8-3.el8未満)では更新された新しいGPG鍵がインストールされていないことが理由です。

AlmaLinux OS - Forever-Free Enterprise-Grade Operating System
AlmaLinux 8 GPG キーの変更

Late last year we experienced a system failure that resulted in the loss of the master key that would allow us to extend ...

almalinux.org

 古いGPG鍵を利用している場合、dnfでシステムアップデートを実行すると以下のようなエラーが発生することがあります。

 command
GPG 鍵 0xC21AD6EA をインポート中:
 Userid     : "AlmaLinux "
 Fingerprint: E53C F5EF 91CE B0AD 1812 ECB8 51D6 647E C21A D6EA
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
これでよろしいですか? [y/N]: y
鍵のインポートに成功しました
鍵をインポートしても役に立ちませんでした。鍵が間違っていませんか?
almalinux-release-8.10-1.el8.x86_64.rpm の公開鍵がインストールされていません. 失敗したパッケージは: almalinux-release-8.10-1.el8.x86_64
 GPG 鍵が設定されています: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
ダウンロード済みのパッケージは、次の正常なトランザクションまでキャッシュに保存されました。
'dnf clean packages' を実行することでキャッシュパッケージを削除できます。
エラー: GPG の確認に失敗しました

 このエラーを解決するには、AlmaLinuxから提供されている新しいGPG鍵をインストールする必要があります。新しいGPG鍵がインストールされているかの確認は以下のコマンドを実行してください。

 command
# rpm -q gpg-pubkey-ced7258b-6525146f
パッケージ gpg-pubkey-ced7258b-6525146f はインストールされていません

 コマンドを実行して「インストールされていません」と表示された場合には更新されたGPG鍵がインストールされていません。以下のコマンドで更新されたGPG鍵をインストールします。

 command
# rpm --import https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux

 rpmコマンドの実行後に、更新されたGPG鍵がインストールされたことを確認します。

 command
# rpm -q gpg-pubkey-ced7258b-6525146f
gpg-pubkey-ced7258b-6525146f

 実行結果としてインストールしたGPG鍵が表示されれば、正常にインストールされています。その後、almalinux-releaseパッケージを再度アップグレードします。

 command
# dnf -y upgrade almalinux-release
アップグレード済み:
  almalinux-release-8.10-1.el8.x86_64                                                                                         
完了しました!

この後、通常どおりにdnf -y updateを実行することで最新のシステム状態に更新されます。

メールでのお問い合わせ

メールフォームからシステムの 知りたいことや問題点をお問い合わせ

メールで問い合わせる

電話でのお問い合わせ

電話でお気軽にお問い合わせください (受付時間:平日 月-金)

053-525-7357

dnfエラーの理由その2 almalinux-releaseパッケージが更新されていない

 別のパターンでは同じくAlmaLinux 8系でdnf -y updateを実行した際に、別のGPG鍵関連のエラーが発生することがあります。例えば以下のような「GPGの確認に失敗しました。」というエラーメッセージが表示されることがあります。

 command
# dnf -y update
AlmaLinux 8 - BaseOS                                                                                         3.2 MB/s | 3.4 kB     00:00
GPG 鍵 0xC21AD6EA をインポート中:
Userid     : "AlmaLinux packager@almalinux.org"
Fingerprint: E53C F5EF 91CE B0AD 1812 ECB8 51D6 647E C21A D6EA
From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
鍵のインポートに成功しました
鍵をインポートしても役に立ちませんでした。鍵が間違っていませんか?
sqlite-3.26.0-19.el8_9.x86_64.rpm の公開鍵がインストールされていません. 失敗したパッケージは: sqlite-3.26.0-19.el8_9.x86_64
GPG 鍵が設定されています: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
...
エラー: GPG の確認に失敗しました。

 このエラーが発生した場合、最初に試すべき解決策は、almalinux-releaseパッケージのアップグレードです。以下のコマンドを実行してみましょう。

 command
# dnf upgrade almalinux-release

 このコマンドを実行すると、システムは最新のalmalinux-releaseパッケージをダウンロードしてインストールします。通常、これによってGPG鍵の問題が解決され、その後のdnf -y updateコマンドが正常に実行できるようになります。

dnfエラーの理由その3 システムの時刻が大きくずれている

 dnfコマンドで時には別の問題に遭遇することもあります。例えば、「Curl error (60): Peer certificate cannot be authenticated with given CA certificates」というエラーが発生する場合があります。このエラーは主にシステムの時刻が大幅にずれている場合に発生します。長期間停止していたシステムを再起動した際によく見られます。

 上記のエラーが出力された場合にはシステム時刻を確認してみてください。システムの時刻を確認するには、dateコマンドを使用します。

 command
# date
2024年 10月  8日 火曜日 11:19:43 JST

 時刻が正しくない場合、chronyコマンドを使用して時刻を同期させることができます。以下のコマンドで即座に時刻を同期させることができます。

 command
# chronyc makestep

 このコマンドは時刻同期ができているシステムの場合に有効です。もし同期先に問題があり時刻同期ができていない場合にはタイムサーバーの設定を見直してください。なお時刻同期が正常に行われているかどうかは、chronycコマンドで確認できます。

 command
# chronyc sources
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^* ntp-b2.nict.go.jp             1   6    37    24    -94us[ -511us] +/-   13ms

 時刻同期が正常に行われた場合、同期先に*(アスタリスク)が表示されます。その後、再度dnf -y updateコマンドを実行してみてください。

まとめ

 今回、紹介した手順を踏むことで、ほとんどの場合、AlmaLinux 8.8のアップデート問題を解決することができます。レムシステム株式会社では、このようなLinuxサーバーの運用管理に関する豊富な経験と知識を持っています。AlmaLinuxを含む様々なLinuxディストリビューションのサーバー運用管理でお困りの際は、ぜひ当社にご相談ください。お客様のシステムを最適な状態に保ち、安定した運用を実現するためのサポートを提供いたします。

 今回の記事がAlmaLinuxを使用されているお客様のお役に立てれば幸いです。今後もサーバー運用管理に関する有益な情報を発信していきますので、ぜひレムシステム株式会社のブログをチェックしてください。

メールでのお問い合わせ

メールフォームからシステムの 知りたいことや問題点をお問い合わせ

メールで問い合わせる

電話でのお問い合わせ

電話でお気軽にお問い合わせください (受付時間:平日 月-金)

053-525-7357

  • この記事を書いた人
rem-profile-photo

レムシステム

レムシステムはPC・サーバー・ネットワークでの業務効率化を主な業務としている会社です。全国に対応しています。

-AlmaLinux, CentOS, Linux, サーバー構築, サーバー運用管理