【ArchLinux】sudo pacman -Syuで「署名は信頼されていません」のエラーが出た場合の対応
さてさて、今回は久しぶりのArchLinuxネタです。
「署名は信頼されていません」のメッセージでパッケージ更新ができない
パッケージを更新する際に、以下のようなメッセージが出て、更新できなくなるケースがあります。
:: ファイル /var/cache/pacman/pkg/gnupg-2.2.32-2.2-pentium4.pkg.tar.zst は破損しています (無効または破損したパッケージ (PGP 鍵))。
ファイルを削除しますか? [Y/n] y
エラー: ldns: "Erich Eckner (just to sign arch packages) <arch-packages@eckner.net>" の署名は信頼されていません
:: ファイル /var/cache/pacman/pkg/ldns-1.8.1-1.0-pentium4.pkg.tar.zst は破損しています (無効または破損したパッケージ (PGP 鍵))。
ファイルを削除しますか? [Y/n] y
エラー: 処理を完了できませんでした (無効または破損したパッケージ)
エラーが発生したため、パッケージは更新されませんでした。
解決した方法をご紹介していきます
この際の対応について、以下の方法で解決できたので、筆者の解決した手順を紹介いたします。
まずは、このようなエラーの発生ケースはどういう場合に起こるのかということを知る必要があります。
一連の流れとして、まず、pacman -Syuコマンドで更新しようとします。
すると、更新可能なパッケージリストが取得できるわけですね。
インストールするか聞かれ、Yキーで更新が開始されます。
しかし、署名チェックで失敗しているということになります。
どんな状況でのエラーだったか
sudo pacman -Syu
:: パッケージデータベースの同期中...
core は最新です
extra は最新です
community は最新です
:: システム全体の更新を開始...
:: hwids を core/hwdata に置き換えますか? [Y/n] y
依存関係を解決しています...
衝突するパッケージがないか確認しています...
パッケージ (15) archlinux32-keyring-20220101-1.0 ca-certificates-mozilla-3.74-1.1 expat-2.4.2-1.1 gnupg-2.2.32-2.2 hwdata-0.355-1.0 hwids-20210613-1.0 [削除] ldns-1.8.1-1.0 nss-3.74-1.1
pciutils-3.7.0-2.1 systemd-250.2-2.1 systemd-libs-250.2-2.1 systemd-resolvconf-250.2-2.1 systemd-sysvcompat-250.2-2.1 zlib-1:1.2.11-5.0 zstd-1.5.1-2.1
合計ダウンロード容量: 13.58 MiB
合計インストール容量: 53.88 MiB
最終的なアップグレード容量: 0.55 MiB
:: インストールを行いますか? [Y/n] y
:: パッケージを取得します...
systemd-250.2-2.1-pentium4 6.7 MiB 1080 KiB/s 00:06 [########################################################################] 100%
gnupg-2.2.32-2.2-pentium4 2.5 MiB 1609 KiB/s 00:02 [########################################################################] 100%
nss-3.74-1.1-pentium4 1460.0 KiB 1254 KiB/s 00:01 [########################################################################] 100%
zstd-1.5.1-2.1-pentium4 826.2 KiB 1285 KiB/s 00:01 [########################################################################] 100%
systemd-libs-250.2-2.1-pentium4 612.8 KiB 1051 KiB/s 00:01 [########################################################################] 100%
ldns-1.8.1-1.0-pentium4 475.5 KiB 787 KiB/s 00:01 [########################################################################] 100%
hwdata-0.355-1.0-any 470.6 KiB 807 KiB/s 00:01 [########################################################################] 100%
ca-certificates-mozilla-3.74-1.1-pentium4 343.3 KiB 837 KiB/s 00:00 [########################################################################] 100%
expat-2.4.2-1.1-pentium4 118.2 KiB 523 KiB/s 00:00 [########################################################################] 100%
pciutils-3.7.0-2.1-pentium4 104.9 KiB 477 KiB/s 00:00 [########################################################################] 100%
zlib-1:1.2.11-5.0-pentium4 90.9 KiB 433 KiB/s 00:00 [########################################################################] 100%
archlinux32-keyring-20220101-1.0-any 34.0 KiB 170 KiB/s 00:00 [########################################################################] 100%
systemd-sysvcompat-250.2-2.1-pentium4 5.9 KiB 30.7 KiB/s 00:00 [########################################################################] 100%
systemd-resolvconf-250.2-2.1-pentium4 3.1 KiB 15.9 KiB/s 00:00 [########################################################################] 100%
合計 (14/14) 13.6 MiB 879 KiB/s 00:16 [########################################################################] 100%
(14/14) キーリングのキーを確認 [########################################################################] 100%
(14/14) パッケージの整合性をチェック [########################################################################] 100%
エラー: gnupg: "Erich Eckner (just to sign arch packages) <arch-packages@eckner.net>" の署名は信頼されていません
:: ファイル /var/cache/pacman/pkg/gnupg-2.2.32-2.2-pentium4.pkg.tar.zst は破損しています (無効または破損したパッケージ (PGP 鍵))。
ファイルを削除しますか? [Y/n] y
エラー: ldns: "Erich Eckner (just to sign arch packages) <arch-packages@eckner.net>" の署名は信頼されていません
:: ファイル /var/cache/pacman/pkg/ldns-1.8.1-1.0-pentium4.pkg.tar.zst は破損しています (無効または破損したパッケージ (PGP 鍵))。
ファイルを削除しますか? [Y/n] y
エラー: 処理を完了できませんでした (無効または破損したパッケージ)
エラーが発生したため、パッケージは更新されませんでした。
鍵が更新されてしまい、手元の鍵と整合性が取れない
この状態はどういうことかというサーバ側のPGP鍵が更新されているのですが、
クライアント側の鍵が古いために、整合性が取れずに発生していると考えられます。
パッケージの中身をよく見ると、「archlinux32-keyring-20220101-1.0」というパッケージがありますね。
1月のKeyringの鍵が更新されていることがわかります。
そこで、以下コマンドでこの鍵を先にピンポイントで指定してインストールします。
先に「keyring」だけ更新してみる
$ sudo pacman -S archlinux32-keyring
その結果、keyringだけならインストールできました。
実行結果は以下の通りです。
$ sudo pacman -S archlinux32-keyring
依存関係を解決しています...
衝突するパッケージがないか確認しています...
パッケージ (1) archlinux32-keyring-20220101-1.0
合計インストール容量: 0.04 MiB
最終的なアップグレード容量: -0.04 MiB
:: インストールを行いますか? [Y/n] y
(1/1) キーリングのキーを確認 [########################################################################] 100%
(1/1) パッケージの整合性をチェック [########################################################################] 100%
(1/1) パッケージファイルのロード [########################################################################] 100%
(1/1) ファイルの衝突をチェック [########################################################################] 100%
(1/1) 空き容量を確認 [########################################################################] 100%
:: パッケージの変更を処理しています...
(1/1) 更新 archlinux32-keyring [########################################################################] 100%
==> archlinux32.gpg からキーを追加...
==> 信頼データベースを更新...
gpg: 次回の信用データベース検査は、2022-01-20です
:: トランザクション後のフックを実行...
(1/1) Arming ConditionNeedsUpdate...
無事に「keyring」が更新された!
信用データベースを更新と表示されています。
それでは、いざ再度パッケージ全体を更新してみます。
再度 「sudo pacman -Syu」を実施する
$ sudo pacman -Syu
:: パッケージデータベースの同期中...
core は最新です
extra は最新です
community は最新です
:: システム全体の更新を開始...
:: hwids を core/hwdata に置き換えますか? [Y/n] y
依存関係を解決しています...
衝突するパッケージがないか確認しています...
パッケージ (14) ca-certificates-mozilla-3.74-1.1 expat-2.4.2-1.1 gnupg-2.2.32-2.2 hwdata-0.355-1.0 hwids-20210613-1.0 [削除] ldns-1.8.1-1.0 nss-3.74-1.1 pciutils-3.7.0-2.1 systemd-250.2-2.1
systemd-libs-250.2-2.1 systemd-resolvconf-250.2-2.1 systemd-sysvcompat-250.2-2.1 zlib-1:1.2.11-5.0 zstd-1.5.1-2.1
合計ダウンロード容量: 2.93 MiB
合計インストール容量: 53.84 MiB
最終的なアップグレード容量: 0.59 MiB
:: インストールを行いますか? [Y/n] y
:: パッケージを取得します...
gnupg-2.2.32-2.2-pentium4 2.5 MiB 929 KiB/s 00:03 [########################################################################] 100%
ldns-1.8.1-1.0-pentium4 475.5 KiB 774 KiB/s 00:01 [########################################################################] 100%
合計 (2/2) 2.9 MiB 806 KiB/s 00:04 [########################################################################] 100%
(13/13) キーリングのキーを確認 [########################################################################] 100%
(13/13) パッケージの整合性をチェック [########################################################################] 100%
(13/13) パッケージファイルのロード [########################################################################] 100%
(13/13) ファイルの衝突をチェック [########################################################################] 100%
(14/14) 空き容量を確認 [########################################################################] 100%
:: パッケージの変更を処理しています...
(1/1) 削除 hwids [########################################################################] 100%
( 1/13) 更新 zlib [########################################################################] 100%
( 2/13) 更新 zstd [########################################################################] 100%
( 3/13) 更新 systemd-libs [########################################################################] 100%
( 4/13) 更新 ca-certificates-mozilla [########################################################################] 100%
( 5/13) 更新 expat [########################################################################] 100%
( 6/13) 更新 gnupg [########################################################################] 100%
( 7/13) インストール hwdata [########################################################################] 100%
( 8/13) 更新 ldns [########################################################################] 100%
( 9/13) 更新 nss [########################################################################] 100%
(10/13) 更新 pciutils [########################################################################] 100%
(11/13) 更新 systemd [########################################################################] 100%
警告: /etc/systemd/logind.conf は /etc/systemd/logind.conf.pacnew としてインストールされました
警告: /etc/systemd/resolved.conf は /etc/systemd/resolved.conf.pacnew としてインストールされました
(12/13) 更新 systemd-resolvconf [########################################################################] 100%
(13/13) 更新 systemd-sysvcompat [########################################################################] 100%
:: トランザクション後のフックを実行...
( 1/12) Creating system user accounts...
( 2/12) Updating journal message catalog...
( 3/12) Reloading system manager configuration...
( 4/12) Updating udev hardware database...
( 5/12) Applying kernel sysctl settings...
( 6/12) Creating temporary files...
( 7/12) Reloading device manager configuration...
( 8/12) Arming ConditionNeedsUpdate...
( 9/12) Rebuilding certificate stores...
(10/12) Updating linux initcpios...
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
-> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
==> Starting build: 5.15.7-arch1-1.0
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [autodetect]
-> Running build hook: [modconf]
-> Running build hook: [block]
-> Running build hook: [filesystems]
-> Running build hook: [keyboard]
-> Running build hook: [fsck]
Decompress: 1/21 files. Current: ...mmc_core.ko.zst : 0 B... ==> Generating module dependencies
==> Creating zstd-compressed initcpio image: /boot/initramfs-linux.img
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback'
-> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
==> Starting build: 5.15.7-arch1-1.0
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [modconf]
-> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: wd719x
==> WARNING: Possibly missing firmware for module: aic94xx
-> Running build hook: [filesystems]
-> Running build hook: [keyboard]
-> Running build hook: [fsck]
Decompress: 598/621 files. Current: ...nel/nfsd.ko.zst : 384 KiB... ==> Generating module dependencies
==> Creating zstd-compressed initcpio image: /boot/initramfs-linux-fallback.img
==> Image generation successful
(11/12) Reloading system bus configuration...
(12/12) Updating the info directory file...
これで無事にパッケージ全体を更新することができましたね。
つまり、keyringは更新された署名ファイルであり、keyringが更新されている場合は、
手元のkeyringをパッケージ更新よりも前に更新しておく必要があるわけですね。
まとめ
というわけで今回はArchLinuxでsudo pacman -Syuの際に「署名は信頼されていません」のエラーが
出た場合の解決策についてご紹介しました。
引き続きArchLinuxを運用しながら何か課題やトラブルがあれば情報を発信していきたいと思います。
何かの参考になれば幸いです。