Ubuntuで発生する「NO_PUBKEY」GPGエラーを修正する方法

NO_PUBKEYエラーは、 APT がリポジトリを検出したものの、そのリポジトリの公開署名キーがないため、署名済みパッケージのメタデータを検証できないことを意味します。ソースを特定し、発行元からキーを取得し、完全なフィンガープリントを検証して、そのリポジトリにのみリンクしてくださいSigned-By。その後、APT を更新してください。エラーを隠すために署名チェックをバイパスしないでください。

APTのチェック機能は、パッケージのメタデータとダウンロードを改ざんから保護します。Ubuntuでは、サードパーティキーをそれぞれのソースに限定することを推奨しています。Canonicalのサードパーティリポジトリに関するガイダンスとアーカイブの整合性に関するドキュメントを参照してください。

1. エラーが発生したリポジトリを特定する

ターミナルを開いて以下を実行します。

sudo apt update

の横にあるリポジトリ URL に注意してくださいNO_PUBKEY。APT は、などの短いキー ID を表示する場合がありますABCD1234EF567890。これは、不足しているキーを特定するのに役立ちますが、誰がそのキーを所有しているかを証明するものではありません。信頼設定を変更する前に、どのソフトウェア ソースがエラーを引き起こしたかを確認してください。

Ubuntuターミナルで、サードパーティのAPTリポジトリに対するNO_PUBKEYエラーが強調表示されている。
強調表示された行は、APTが検証できない署名キーを持つリポジトリを示しています。URLとキーIDは例です。

2. 発行者のキーを取得して検証する

リポジトリ所有者の公式インストールページまたはキーのダウンロード場所を使用してください。Launchpad PPA の場合は、Launchpad 上で所有者とアーカイブを確認してください。Ubuntu のドキュメントではadd-apt-repository、キーを設定する PPA の追加方法について説明しています。

sudo add-apt-repository ppa:OWNER/ARCHIVE

公式ページから正確なPPAに置き換えてくださいOWNER/ARCHIVE。ベンダーリポジトリの場合は、ベンダーの指示に従ってのみキーをダウンロードしてください。この例ではプレースホルダーURLを使用しています。公開されているURLに置き換えてください。

curl -fsSLo /tmp/vendor-archive-keyring.asc https://repo.example/ubuntu/vendor-archive-keyring.asc
gpg --show-keys --with-fingerprint /tmp/vendor-archive-keyring.asc

提供元が公式チャネルを通じて公開している指紋データと、入力された指紋データ全体を比較してください。異なる場合、または確認できない場合は、先に進まないでください。

ソフトウェア発行元のリポジトリ署名キーのダウンロードページを表示するブラウザページ
鍵とその指紋の位置については、出版社が提供する説明書を参照してください。

3. キーは専用のキーリングに保管してください。

ASCIIアーマード.ascキーの場合は、キーリングディレクトリを作成し、キーを変換して、APTがそれを読み取れるようにします。

sudo install -d -m 0755 /etc/apt/keyrings
sudo gpg --dearmor --yes --output /etc/apt/keyrings/vendor-archive-keyring.gpg /tmp/vendor-archive-keyring.asc
sudo chmod 0644 /etc/apt/keyrings/vendor-archive-keyring.gpg

発行元がバイナリ.gpgキーを提供している場合は、それを保存し/etc/apt/keyrings、パーミッションを に設定してください0644。デアーマーは使用しないでください。後で識別できるように、ファイル名は発行元にちなんで付けてください。

4. キーをそのリポジトリにリンクする

リポジトリの既存のソースファイル(通常は )を編集します/etc/apt/sources.list.d/。URI、Ubuntuスイート、および発行元からのコンポーネントはそのまま残してください。以下のプレースホルダーを置き換え、ソースファイルの重複は作成しないでください。

deb822.sourcesファイルに、次のSigned-Byフィールドを追加します。

Types: deb
URIs: https://repo.example/ubuntu
Suites: YOUR_UBUNTU_CODENAME
Components: main
Signed-By: /etc/apt/keyrings/vendor-archive-keyring.gpg

レガシー.listファイルでは、既存の行にオプションを追加しますdeb。

deb [signed-by=/etc/apt/keyrings/vendor-archive-keyring.gpg] https://repo.example/ubuntu YOUR_UBUNTU_CODENAME main

そのソースコードに既に存在するフォーマットを使用してください。Ubuntuのsources.listマニュアルにSigned-By、サポートされているフォーマットの説明があります。

Ubuntuのテキストエディタで、リポジトリ固有のキーリングを指すSigned-Byを持つdeb822ソースファイルを表示している。
ソースエントリは、 の 1 つのキーリングを指しています/etc/apt/keyrings。

5. APTを更新して検証する

ソースファイルを保存して、以下を実行してください。

sudo apt update

更新は、該当リポジトリのNO_PUBKEY警告なしに完了するはずです。その後、通常どおりパッケージをインストールまたは更新できます。このコマンドはパッケージのメタデータを更新するものであり、インストール済みのパッケージをアップグレードするものではありません。

Ubuntuターミナルで、sudo apt updateがNO_PUBKEYエラーなしで完了したことが表示されている。
パッケージリストをクリーンに更新することで、APTが設定されたリポジトリを検証できることを確認できます。

エラーが解消されない場合は

  • 指紋認証情報の不一致:鍵が古いか、別のリポジトリから取得された可能性があります。発行元から最新の鍵を入手してください。
  • キーが見つかりません。ソースのSigned-Byパスがキーリングファイルと完全に一致していること、およびファイルが読み取り可能であることを確認してください。
  • リリースファイルが見つからないか、404エラーが発生しています。リポジトリがUbuntuコードネームをサポートしていない可能性があります。発行元の互換性に関するガイダンスに従うか、ソースを無効にしてください。別のスイートを推測しないでください。
  • 公式Ubuntuアーカイブ:ソースが公式Ubuntuアーカイブを指しており、かつそのアーカイブubuntu-keyringが破損していないことを確認してください。非公式の代替キーをインポートしないでください。

Ubuntu Desktop では、サードパーティのソースを使用しなくなった場合は、[ソフトウェアとアップデート]を開き、 [その他のソフトウェア]でそれを無効にして、パッケージ情報を再読み込みします。ラベルはリリースによって異なります。古いグローバル認証インポートワークフローは、発行元の現在のキーを確認して使用することの代わりにはなりませんSigned-By。

署名チェックを有効にしたままにする

trusted=yes回避策として、、、または安全でないリポジトリ設定を使用しないでください--allow-unauthenticated。発行元がキーを確認できない場合、またはリポジトリのメンテナンスを終了した場合は、それを無効にしてサポートされているソースを使用してください。Ubuntu APT のアーカイブ認証マニュアルを参照してください。

コメントを残す

LinuxデスクトップでQRコードをスキャンする方法

LinuxデスクトップでQRコードをスキャンする方法

CoBangを使えば、Webカメラまたは画像ファイルでLinux上でQRコードをスキャンできます。インストールオプション、セットアップ手順、Flatpakカメラへのアクセスに関する修正方法については、こちらをご覧ください。

Cameractrlsを使ってLinuxでウェブカメラの設定を変更する方法

Cameractrlsを使ってLinuxでウェブカメラの設定を変更する方法

Cameractrlsを使用してLinux上でウェブカメラの設定を変更しましょう。露出、色、フリッカー低減などのサポートされているコントロールを調整し、互換性のあるビデオモードを確認できます。

LinuxにPhpStormをインストールする方法:ツールボックス、Tar.gz、Snap、およびAUR

LinuxにPhpStormをインストールする方法:ツールボックス、Tar.gz、Snap、およびAUR

LinuxにPhpStormをインストールするには、JetBrains Toolboxを使用するか、スタンドアロンのtar.gzアーカイブを使用するか、SnapおよびArch AURオプションを選択してください。Javaは既にバンドルされています。

LinuxにCisco Packet Tracerをインストールする方法

LinuxにCisco Packet Tracerをインストールする方法

Cisco Packet Tracer 9.0.1 を Ubuntu 64 ビット版にダウンロードし、APT を使用して DEB パッケージをインストールし、ターミナルでライセンスに同意してサインインすると、ラボを開始できます。

LinuxでCD-ROMをISOイメージとしてバックアップする方法

LinuxでCD-ROMをISOイメージとしてバックアップする方法

Linux上でGNOME Disksまたはddコマンドを使用してCD-ROM ISOイメージを作成します。光学ドライブを識別し、コピーを監視し、イメージを検証し、破損したディスクやオーディオディスクに別のツールが必要な場合を把握できます。

XFCE 4でデュアルパネルを設定する方法

XFCE 4でデュアルパネルを設定する方法

各ディスプレイごとに個別のXFCE 4パネルを作成し、2番目のパネルを右側の出力に割り当て、位置とサイズを調整し、必要なランチャーとステータス項目を追加します。

LinuxでGIMPを使って画像を切り抜く方法

LinuxでGIMPを使って画像を切り抜く方法

LinuxでGIMPを使って写真の背景を削除する方法:被写体をトレースし、選択した背景を削除し、透明度を保持して、再利用可能なPNG形式でエクスポートします。

FlightGearを無料でダウンロード:公式インストールガイド

FlightGearを無料でダウンロード:公式インストールガイド

FlightGearは公式サイトから無料でダウンロードできます。Windows、macOS、Linuxの各パッケージを比較し、データファイルをインストールして、最初のフライトを開始しましょう。

OKSampler:キーボードビートのための無料かつシンプルな音楽サンプラー

OKSampler:キーボードビートのための無料かつシンプルな音楽サンプラー

OKSamplerはMP3クリップをキーボードのキーにマッピングし、音声をループ再生できます。この旧型フリーウェアの機能、旧機能が失われた箇所、ダウンロード前に確認すべき点について解説します。

Googleタスクのデスクトップアプリケーション:パソコンでの使い方

Googleタスクのデスクトップアプリケーション:パソコンでの使い方

Googleタスクをブラウザで開き、Chromeショートカットやアプリスタイルの起動機能を追加し、カレンダーとGmailを通じて期日が過ぎたタスクを管理できます。