目次
はじめに
こんにちは、大野です。
弊社では、LinuxサーバのOSは、CentOS 7系までCentOSが主流でした。
しかし、CentOS 8が早々にサポート終了、その後はアップストリーム用のCentOS Streamになったため、新しいLinuxサーバのOSはAlmaLinuxが主流になってきています。
ここで、最近、検証サーバにAlmaLinux 8をインストールし、dnfコマンドを使おうとしたらエラーが出たので、この件に関してメモ書き程度に書いて行こうと思います。
前提
- 経緯
- 基本的な経緯は「はじめに」の通り。
- 手始めに、digコマンドを使うためにbindとbind-utilsを入れたい。
- 環境 (OS)
- AlmaLinux release 8.10 (Cerulean Leopard)
dnfでbindをインストールする
普通にdnfコマンドで「bind」をインストールします。
# dnf -y install bind
AlmaLinux 8 - BaseOS 6.2 MB/s | 5.1 MB 00:00
AlmaLinux 8 - AppStream 11 MB/s | 12 MB 00:01
AlmaLinux 8 - Extras 21 kB/s | 13 kB 00:00
依存関係が解決しました。
========================================================================================================================================================================
パッケージ アーキテクチャー バージョン リポジトリー サイズ
========================================================================================================================================================================
インストール:
bind x86_64 32:9.11.36-14.el8_10 appstream 2.1 M
依存関係のインストール:
bind-libs x86_64 32:9.11.36-14.el8_10 appstream 175 k
bind-libs-lite x86_64 32:9.11.36-14.el8_10 appstream 1.2 M
bind-license noarch 32:9.11.36-14.el8_10 appstream 104 k
fstrm x86_64 0.6.1-3.el8 appstream 28 k
libmaxminddb x86_64 1.2.0-10.el8_9.1 appstream 32 k
protobuf-c x86_64 1.3.0-8.el8 appstream 36 k
弱い依存関係のインストール:
geolite2-city noarch 20180605-1.el8 appstream 19 M
geolite2-country noarch 20180605-1.el8 appstream 1.0 M
トランザクションの概要
========================================================================================================================================================================
インストール 9 パッケージ
ダウンロードサイズの合計: 24 M
インストール後のサイズ: 65 M
パッケージのダウンロード:
(1/9): bind-libs-9.11.36-14.el8_10.x86_64.rpm 2.6 MB/s | 175 kB 00:00
(2/9): bind-license-9.11.36-14.el8_10.noarch.rpm 4.1 MB/s | 104 kB 00:00
(3/9): fstrm-0.6.1-3.el8.x86_64.rpm 2.3 MB/s | 28 kB 00:00
(4/9): bind-libs-lite-9.11.36-14.el8_10.x86_64.rpm 8.2 MB/s | 1.2 MB 00:00
(5/9): bind-9.11.36-14.el8_10.x86_64.rpm 9.1 MB/s | 2.1 MB 00:00
(6/9): libmaxminddb-1.2.0-10.el8_9.1.x86_64.rpm 2.4 MB/s | 32 kB 00:00
(7/9): geolite2-country-20180605-1.el8.noarch.rpm 7.9 MB/s | 1.0 MB 00:00
(8/9): protobuf-c-1.3.0-8.el8.x86_64.rpm 1.2 MB/s | 36 kB 00:00
(9/9): geolite2-city-20180605-1.el8.noarch.rpm 25 MB/s | 19 MB 00:00
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
合計 16 MB/s | 24 MB 00:01
AlmaLinux 8 - AppStream 3.3 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
鍵のインポートに成功しました
鍵をインポートしても役に立ちませんでした。鍵が間違っていませんか?
bind-9.11.36-14.el8_10.x86_64.rpm の公開鍵がインストールされていません. 失敗したパッケージは: bind-32:9.11.36-14.el8_10.x86_64
GPG 鍵が設定されています: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
bind-libs-9.11.36-14.el8_10.x86_64.rpm の公開鍵がインストールされていません. 失敗したパッケージは: bind-libs-32:9.11.36-14.el8_10.x86_64
GPG 鍵が設定されています: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
bind-libs-lite-9.11.36-14.el8_10.x86_64.rpm の公開鍵がインストールされていません. 失敗したパッケージは: bind-libs-lite-32:9.11.36-14.el8_10.x86_64
GPG 鍵が設定されています: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
bind-license-9.11.36-14.el8_10.noarch.rpm の公開鍵がインストールされていません. 失敗したパッケージは: bind-license-32:9.11.36-14.el8_10.noarch
GPG 鍵が設定されています: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
libmaxminddb-1.2.0-10.el8_9.1.x86_64.rpm の公開鍵がインストールされていません. 失敗したパッケージは: libmaxminddb-1.2.0-10.el8_9.1.x86_64
GPG 鍵が設定されています: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
ダウンロード済みのパッケージは、次の正常なトランザクションまでキャッシュに保存されました。
'dnf clean packages' を実行することでキャッシュパッケージを削除できます。
エラー: GPG の確認に失敗しました
しかし、インストールに失敗!
GPGという見慣れないエラー内容が出ました。
GPGキーとは?
「GnuPG (GNU Privacy Guard)」という暗号化ソフトで生成される公開鍵で、Linuxでは、yumコマンド、dnfコマンドなどを使ってインターネットから入手できるパッケージが正しい配布先のものかどうかのチェックをするために使用しています。
エラーの原因
GPGキーの確認に失敗したと言われています。
この件に関して軽く調べてみると、2024年1月12日にAlmaLinux 8のGPGキーが新しいものに変更されたため、それをインストールする必要があるとのことでした。
https://almalinux.org/blog/2023-12-20-almalinux-8-key-update/
勿論、古いGPGキーでは認証できないので、AlmaLinux公式Webサイトの手順通り新しいGPGキーをインストールする必要があります。
と言っても、下記の一文(一コマンド)です。
rpm --import https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
新しいGPGキーをインポート
最初に、確認コマンドを実行します。
「gpg-pubkey-ced7258b-6525146f
」は新しいGPGキーの名前で、このコマンドを打つことでインストールされているか確認できます。
# rpm -q gpg-pubkey-ced7258b-6525146f
パッケージ gpg-pubkey-ced7258b-6525146f はインストールされていません。
当然、インストールされていないと出ます。
公式Webサイトの手順通りインストールします。
# rpm --import https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
確認コマンドでGPGキーの名前が出たらインストール完了です。
# rpm -q gpg-pubkey-ced7258b-6525146f
gpg-pubkey-ced7258b-6525146f
dnfでbindをインストールする (再チャレンジ)
新しいGPGキーをインストールしたので、再度dnfコマンドで「bind」をインストールしてみます。
キャッシュが残っているとインストールが上手く行えない場合もあるので、先に「dnf clean all
」を実行してからインストールします。
# dnf clean all
# dnf -y install bind
AlmaLinux 8 - BaseOS 6.0 MB/s | 5.1 MB 00:00
AlmaLinux 8 - AppStream 11 MB/s | 12 MB 00:01
AlmaLinux 8 - Extras 21 kB/s | 13 kB 00:00
依存関係が解決しました。
========================================================================================================================================================================
パッケージ アーキテクチャー バージョン リポジトリー サイズ
========================================================================================================================================================================
インストール:
bind x86_64 32:9.11.36-14.el8_10 appstream 2.1 M
依存関係のインストール:
bind-libs x86_64 32:9.11.36-14.el8_10 appstream 175 k
bind-libs-lite x86_64 32:9.11.36-14.el8_10 appstream 1.2 M
bind-license noarch 32:9.11.36-14.el8_10 appstream 104 k
fstrm x86_64 0.6.1-3.el8 appstream 28 k
libmaxminddb x86_64 1.2.0-10.el8_9.1 appstream 32 k
protobuf-c x86_64 1.3.0-8.el8 appstream 36 k
弱い依存関係のインストール:
geolite2-city noarch 20180605-1.el8 appstream 19 M
geolite2-country noarch 20180605-1.el8 appstream 1.0 M
トランザクションの概要
========================================================================================================================================================================
インストール 9 パッケージ
ダウンロードサイズの合計: 24 M
インストール後のサイズ: 65 M
パッケージのダウンロード:
(1/9): bind-libs-9.11.36-14.el8_10.x86_64.rpm 2.6 MB/s | 175 kB 00:00
(2/9): bind-license-9.11.36-14.el8_10.noarch.rpm 4.7 MB/s | 104 kB 00:00
(3/9): fstrm-0.6.1-3.el8.x86_64.rpm 2.0 MB/s | 28 kB 00:00
(4/9): bind-libs-lite-9.11.36-14.el8_10.x86_64.rpm 7.9 MB/s | 1.2 MB 00:00
(5/9): bind-9.11.36-14.el8_10.x86_64.rpm 8.5 MB/s | 2.1 MB 00:00
(6/9): libmaxminddb-1.2.0-10.el8_9.1.x86_64.rpm 2.0 MB/s | 32 kB 00:00
(7/9): geolite2-country-20180605-1.el8.noarch.rpm 7.3 MB/s | 1.0 MB 00:00
(8/9): protobuf-c-1.3.0-8.el8.x86_64.rpm 1.3 MB/s | 36 kB 00:00
(9/9): geolite2-city-20180605-1.el8.noarch.rpm 23 MB/s | 19 MB 00:00
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
合計 16 MB/s | 24 MB 00:01
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
準備 : 1/1
インストール中 : protobuf-c-1.3.0-8.el8.x86_64 1/9
インストール中 : fstrm-0.6.1-3.el8.x86_64 2/9
インストール中 : bind-license-32:9.11.36-14.el8_10.noarch 3/9
インストール中 : geolite2-country-20180605-1.el8.noarch 4/9
インストール中 : geolite2-city-20180605-1.el8.noarch 5/9
インストール中 : libmaxminddb-1.2.0-10.el8_9.1.x86_64 6/9
scriptletの実行中: libmaxminddb-1.2.0-10.el8_9.1.x86_64 6/9
インストール中 : bind-libs-lite-32:9.11.36-14.el8_10.x86_64 7/9
インストール中 : bind-libs-32:9.11.36-14.el8_10.x86_64 8/9
scriptletの実行中: bind-32:9.11.36-14.el8_10.x86_64 9/9
インストール中 : bind-32:9.11.36-14.el8_10.x86_64 9/9
scriptletの実行中: bind-32:9.11.36-14.el8_10.x86_64 9/9
検証 : bind-32:9.11.36-14.el8_10.x86_64 1/9
検証 : bind-libs-32:9.11.36-14.el8_10.x86_64 2/9
検証 : bind-libs-lite-32:9.11.36-14.el8_10.x86_64 3/9
検証 : bind-license-32:9.11.36-14.el8_10.noarch 4/9
検証 : fstrm-0.6.1-3.el8.x86_64 5/9
検証 : geolite2-city-20180605-1.el8.noarch 6/9
検証 : geolite2-country-20180605-1.el8.noarch 7/9
検証 : libmaxminddb-1.2.0-10.el8_9.1.x86_64 8/9
検証 : protobuf-c-1.3.0-8.el8.x86_64 9/9
インストール済み:
bind-32:9.11.36-14.el8_10.x86_64 bind-libs-32:9.11.36-14.el8_10.x86_64 bind-libs-lite-32:9.11.36-14.el8_10.x86_64 bind-license-32:9.11.36-14.el8_10.noarch
fstrm-0.6.1-3.el8.x86_64 geolite2-city-20180605-1.el8.noarch geolite2-country-20180605-1.el8.noarch libmaxminddb-1.2.0-10.el8_9.1.x86_64
protobuf-c-1.3.0-8.el8.x86_64
完了しました!
無事インストールできました。
続いて、digコマンドを使うために「bind-utils」をインストールします。
# dnf -y install bind-utils
メタデータの期限切れの最終確認: 0:01:11 時間前の 2024年07月19日 13時59分40秒 に実施しました。
依存関係が解決しました。
========================================================================================================================================================================
パッケージ アーキテクチャー バージョン リポジトリー サイズ
========================================================================================================================================================================
インストール:
bind-utils x86_64 32:9.11.36-14.el8_10 appstream 452 k
依存関係のインストール:
python3-bind noarch 32:9.11.36-14.el8_10 appstream 151 k
python3-ply noarch 3.9-9.el8 baseos 110 k
トランザクションの概要
========================================================================================================================================================================
インストール 3 パッケージ
ダウンロードサイズの合計: 713 k
インストール後のサイズ: 1.9 M
パッケージのダウンロード:
(1/3): python3-ply-3.9-9.el8.noarch.rpm 1.8 MB/s | 110 kB 00:00
(2/3): python3-bind-9.11.36-14.el8_10.noarch.rpm 2.2 MB/s | 151 kB 00:00
(3/3): bind-utils-9.11.36-14.el8_10.x86_64.rpm 5.0 MB/s | 452 kB 00:00
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
合計 574 kB/s | 713 kB 00:01
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
準備 : 1/1
インストール中 : python3-ply-3.9-9.el8.noarch 1/3
インストール中 : python3-bind-32:9.11.36-14.el8_10.noarch 2/3
インストール中 : bind-utils-32:9.11.36-14.el8_10.x86_64 3/3
scriptletの実行中: bind-utils-32:9.11.36-14.el8_10.x86_64 3/3
検証 : python3-ply-3.9-9.el8.noarch 1/3
検証 : bind-utils-32:9.11.36-14.el8_10.x86_64 2/3
検証 : python3-bind-32:9.11.36-14.el8_10.noarch 3/3
インストール済み:
bind-utils-32:9.11.36-14.el8_10.x86_64 python3-bind-32:9.11.36-14.el8_10.noarch python3-ply-3.9-9.el8.noarch
完了しました!
こちらも無事インストールできました。
digコマンドを実行します。
# dig a blog.denet.co.jp
; <<>> DiG 9.11.36-RedHat-9.11.36-14.el8_10 <<>> a blog.denet.co.jp
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11597
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: f401880a9217925f5b7448f16699f5fc72b71eef9eeb30d9 (good)
;; QUESTION SECTION:
;blog.denet.co.jp. IN A
;; ANSWER SECTION:
blog.denet.co.jp. 60 IN A 13.230.154.25
;; AUTHORITY SECTION:
denet.co.jp. 60 IN NS dns.sendmail.ne.jp.
denet.co.jp. 60 IN NS dns2.sendmail.ne.jp.
;; ADDITIONAL SECTION:
dns.sendmail.ne.jp. 4605 IN A 121.83.205.1
dns2.sendmail.ne.jp. 4633 IN A 218.251.116.222
;; Query time: 9 msec
;; SERVER: ***.***.***.***#53(***.***.***.***)
;; WHEN: 金 7月 19 14:01:36 JST 2024
;; MSG SIZE rcvd: 170
無事実行することができました。
まとめ
AlmaLinux 8のサポート期限は2029年まであります。
まだサポート期限まで5年くらいあり、レポジトリも更新されるはずなのにdnfが使えないのは不思議でした。
調べてみると、原因はGPGキーと知り、勉強になりました。
今回は安全に新しいGPGキーをインポートする方法を取っていますが、GPGキーの認証を無視して実行する方法もありますが、この場合は自己責任になります。
AlmaLinux 8のGPGキーは2024年1月12日に新しいものに変更されています。
もし、AlmaLinuxでdnfやyumに失敗したならば、この方法をお試し頂ければと思います。
おわりに
私の前回の記事で軽く予告していた「自宅にVPN環境を構築してみた」の記事が引き続き執筆中ですが、最近別件でぶち当たったことがあったため、今回さらっと記事にしてみました。
VPNの記事は時間掛かっていますが、今頑張って書いています!
さて、今回は暑い夏にはぴったりな涼しげな写真を。
カレンダー通りで仕事をしているならば、5月初旬のゴールデンウィークが終わると次の国民の祝日は7月の海の日です。
6月は国民の祝日が無いので、かなり空きます。
そんな海の日。
私は今年の海の日は家で休んでいたのですが、その前日と前々日7月13~14日は、暑い夏でも涼しさを感じる自然豊かな田舎に友達と遊びに行ってきました。
日本で唯一の飛び地の村「和歌山県東牟婁郡北山村」。
北山村の名物と言えば、花粉症に効くと話題の柑橘類「邪払(じゃばら)」と、観光筏下りです!
全国の多くの綺麗な渓谷や有名な川に川下りはあるものの筏下りはここだけ。
水は綺麗で冷たくて気持ち良く、急流ポイントはエキサイティングで楽しいのは勿論のこと、村の歴史や伝統産業にも触れる筏下りでした。
北山村、大阪本社と同じ近畿地方ながら遠い場所ですが、都会の喧騒を忘れてリフレッシュしたいならば心からおススメします!
では…。
ディーネットでは少数派の旅行が大好きなアウトドア派エンジニア。