apt update で警告: NO_PUBKEY 32EE5355A6BC6E42

気が付いたら apt update すると以下のような警告が出るようになっていました。Chrome のリポジトリの公開鍵が利用できないとのことです。手動で update していなかったので気づきませんでした。

$ sudo apt update
ヒット:1 http://security.debian.org/debian-security bookworm-security InRelease
取得:2 http://dl.google.com/linux/chrome/deb stable InRelease [1,825 B]        
ヒット:3 http://ftp.jp.debian.org/debian bookworm InRelease                    
ヒット:4 http://ftp.jp.debian.org/debian bookworm-updates InRelease
エラー:2 http://dl.google.com/linux/chrome/deb stable InRelease
  公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY 32EE5355A6BC6E42
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
状態情報を読み取っています... 完了        
パッケージはすべて最新です。
W: 署名照合中にエラーが発生しました。リポジトリは更新されず、過去のインデックスファイルが使われます。GPG エラー: http://dl.google.com/linux/chrome/deb stable InRelease: 公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY 32EE5355A6BC6E42
W: http://dl.google.com/linux/chrome/deb/dists/stable/InRelease の取得に失敗しました  公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY 32EE5355A6BC6E42
W: いくつかのインデックスファイルのダウンロードに失敗しました。これらは無視されるか、古いものが代わりに使われます。
$ 

debian をインストールしたときに、Chrome のリポジトリを apt のソースリストに追加していました。こんな↓かんじ。

$ wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo gpg --dearmor -o /etc/apt/keyrings/google_key.gpg
$ sudo bash -c "echo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/google_key.gpg] http://dl.google.com/linux/chrome/deb/ stable main' > /etc/apt/sources.list.d/google-chrome.list"

公開鍵を更新しなければならないのか?と思って、ググってみたら、また古い記事に惑わされていろいろ遠回りしてしまいましたが、結局、Google の「Linux Software Repositories」というページのとおりに公開鍵を設置しました。

$ wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo tee /etc/apt/trusted.gpg.d/google.asc >/dev/null

これでもエラーが収まらないので、なんでかなーと試行錯誤したのですが、結局、/etc/apt/source.list.d/google-chrome.list に記載した signed-by が悪さしていたようです。今までは /etc/apt/keyrings/ に置いていたのですが、Google さんは /etc/apt/trusted.gpg.d/ に置くように言っているし、debian もそこに置くことを推奨しているようです。

source list の signed-by オプションを記載せずに、trusted.gpg.d/ 配下に設置するのがスマートだと思いましたので、オプションをごっそり削除しました。

deb  http://dl.google.com/linux/chrome/deb/ stable main

この状態で apt update で警告がでなくなりました。

何気なく、再度 source list ファイルを見てみると、arch オプションが自動でついていました。apt がつけてくれるようです。

### THIS FILE IS AUTOMATICALLY CONFIGURED ###
# You may comment out this entry, but any other modifications may be lost.
deb [arch=amd64] https://dl.google.com/linux/chrome/deb/ stable main

apt のリポジトリを追加する場合、まとめると以下のようになるようです。

  • /etc/apt/trusted.gpg.d/ に公開鍵を設置
    • ASCII形式の場合 google.asc のように「.asc」
    • バイナリ形式の場合 google.gpg のように「.gpg」
  • /etc/apt/source.list.d/ に source list ファイルを設置
    • ファイルのサフィックスは google-chrome.list のように「.list」にする
    • 内容は deb uri suite [component1] のみで、オプションを付けない
    • 詳しくは sources.list(5) マニュアル参照

と、まとめようかと思ったら、最近の apt では trusted.gpg.d は非推奨になったらしいです。;_;

今インストールされている Debian 12.10 の apt は、非推奨になった 2.9.24 より古いバージョンだから、まだ大丈夫ですけど。

$ apt --version
apt 2.6.1 (amd64)

また警告が出たら対処することにします。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です