こんにちは。レムシステム株式会社のエンジニア、小村(@system_kom)です。今回の記事では、AlmaLinux 8系におけるdnfコマンドを使用したシステムのアップデート時に発生する可能性のある問題とその解決方法について説明します。サーバー運用管理をご検討中のお客様や、既にAlmaLinuxを使用されている方々におすすめです。
AlmaLinuxは、CentOS 8の代替として注目を集めているエンタープライズ向けLinuxディストリビューションですが、アップデート時に予期せぬ問題が発生することがあります。特に、GPG鍵の変更や時刻同期の問題など、一見単純そうで見落としがちな要因が、システムのアップデート作業を妨げる可能性があります。
サーバーの安定的なアップデートは、システムセキュリティの継続性と効率性に直結する重要な要素です。本情報を活用することで、AlmaLinuxサーバーの信頼性を高め、運用管理の負担を軽減できるはずです。ぜひ最後までお読みいただき、日々のサーバー管理にお役立てください。
dnfエラーの理由その1 古いGPG鍵を利用している
AlmaLinux 8系のシステムアップデートが失敗するパターンとして多いものが古いGPG鍵を利用していることが挙げられます。これは2024年1月にAlmaLinuxがGPG鍵の変更を行ったことにより、古いAlmaLinux(8.8-3.el8未満)では更新された新しいGPG鍵がインストールされていないことが理由です。
-
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を実行することで最新のシステム状態に更新されます。
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を使用されているお客様のお役に立てれば幸いです。今後もサーバー運用管理に関する有益な情報を発信していきますので、ぜひレムシステム株式会社のブログをチェックしてください。