[Arch Linux] キーリング、 GPG キャッシュ・ディレクトリ・ファイル・エラーの対処法

※当サイトは広告収入で運営されているため広告が表示される場合があります。

非公式リポジトリを更新しようとしたらキーリングができなくなってしまいました。キーリングを取得できないとパッケージをサーバからダウンロードできなくなります。

エラー: key "****************" could not be looked up remotely 
エラー: キーリングに必要なキーがありません 
エラー: 処理を完了できませんでした (予期しないエラー) エラーが発生したため、パッケージは更新されませんでした

鍵の更新を試みた結果 GPG 関係でエラーが発生とのメッセージが表示されました。

$ sudo pacman-key -r ******** && pacman-key --lsign-key ********
gpg: connecting dirmngr at '/root/.gnupg/S.dirmngr' failed: IPC connect 呼び出しに失敗しました
gpg: 鍵サーバからの受信に失敗しました: dirmngrがありません
エラー: キーサーバから正しくキーを取得できませんでした。

キー取得処理をしている最中に他の処理が割り込むと GPG がフリーズしてしまうため dirmngr をキルしてから設定ファイルを再生成する必要があります。

対処法

dirmngr は GPG などを使ってネットワークアクセスするためのサーバです。証明書シグネチャの更新や管理ができます。

dirmngr < /dev/null を実行すると /root/.gnupg/S.dirmngr が新しく作られ、 GPG が正しく動くようになります。

ルート権限で以下のコマンドを実行します。

# dirmngr < /dev/null
dirmngr[30485.0]: '/root/.gnupg/dirmngr_ldapservers.conf'を開く際、エラー: そのようなファイルやディレクトリはありません
dirmngr[30485.0]: 永続的にロードされる証明書: 0
dirmngr[30485.0]: 実行時キャッシュ証明書の数: 0
dirmngr[30485.0]: キャッシュ・ディレクトリ・ファイル'/root/.gnupg/dirmngr-cache.d/DIR.txt'が開けません: そのようなファイルやディレクトリはありません
dirmngr[30485.0]: ディレクトリ'/root/.gnupg'の作成
dirmngr[30485.0]: ディレクトリ'/root/.gnupg/dirmngr-cache.d'の作成
dirmngr[30485.0]: 新しいキャッシュ・ディレクトリ・ファイル'/root/.gnupg/dirmngr-cache.d/DIR.txt'ができました
# Home: ~/.gnupg
# Config: [none]
OK Dirmngr 2.1.1 at your service

GPG キャッシュ・ディレクトリ・ファイルが新たに作成されました。

キーリングの更新

$ sudo pacman-key -r ******** && sudo pacman-key --lsign-key ********
gpg: 鍵********:"******* <*******@*********.**>"変更なし
gpg: 処理数の合計: 1
gpg: 変更なし: 1
==> 信用データベースを更新...
gpg: 次回の信用データベース検査は、2016-01-22です
-> キーに署名 ********...
==> 信用データベースを更新...
gpg: 'まぁまぁの信用'3、'全面的信用'1、PGP信用モデル
gpg: 深さ: 0 有効性: 1 署名: 6 信用: 0-, 0q, 0n, 0m, 0f, 1u
gpg: 深さ: 1 有効性: 6 署名: 62 信用: 1-, 0q, 0n, 5m, 0f, 0u
gpg: 深さ: 2 有効性: 60 署名: 5 信用: 60-, 0q, 0n, 0m, 0f, 0u
gpg: 次回の信用データベース検査は、2016-01-22です

無事にキーリングが更新されました。これで問題なく pacman が動くようになるはずです。

おわり

via Receiving keys as root user (lists.gnupg.org) Arch Linux BBS

コメント

  1. 匿名 より:

    dirmngr < /dev/null
    では???

タイトルとURLをコピーしました