非公式リポジトリを更新しようとしたらキーリングができなくなってしまいました。キーリングを取得できないとパッケージをサーバからダウンロードできなくなります。
エラー: 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
ポチップ
コメント
dirmngr < /dev/null
では???
ご指摘ありがとうございます。修正します。