NO_PUBKEY? Add GPG key for apt-get update

加入 launchpad 或者其他的軟體來源 (/etc/apt/source.list) 後要是沒匯入金鑰,使用 apt-get update 手動更新時就會有以下的錯誤訊息出現。
jonny@ubuntu:~$ sudo apt-get update

W: GPG error: http://ppa.launchpad.net hardy Release: 由於無法取得它們的公鑰,以下簽章無法進行驗證: NO_PUBKEY 123456789ABCDEFG
W: 您也許得執行 apt-get update 以修正這些問題


1. 下載公鑰。
jonny@ubuntu:~$ sudo gpg --keyserver keyserver.ubuntu.com --recv OOOOXXXX

jonny@debian:~$ sudo gpg --keyserver keyring.debian.org --recv-keys OOOOXXXX

# OOOOXXXX 為 key 的後八碼。

2. 匯入公鑰。
jonny@linux:~$ sudo gpg --export --armor OOOOXXXX | sudo apt-key add -

完成!

站內連結:
【Scripts】input GPG key for Debian-base

相關連結:
GPG error | 簡單 ‧ 勤勞 ‧ 過生活
GPG Error for apt-get | Tsung's Blog

留言

  1. 最近測試apt-key也可以,不過應該是比較新版本Ubuntu才有
    https://github.com/Vdragon/CLI_Program_Using_Experiences/blob/master/apt-key/Current_version.txt

    回覆刪除
    回覆
    1. 另一則有提到,不過這玩意自從寫好 script 後就沒在關注了,哈!

      刪除
  2. 原因 (Cause)

    沒有匯入用於驗證軟體來源的 GPG 公鑰至系統中,造成系統於更新軟體來源快取(cache)資料時無法驗證軟體來源的正確性故發出警告

    via 更新軟體來源快取資料後,出現警告訊息「W: GPG 錯誤:『軟體來源地址』 Release: 由於無法取得它們的公鑰,以下簽章無法進行驗證: NO_PUBKEY XXXXXXXXXXXXXXXX」

    回覆刪除
  3. 在 Ubuntu 20.04+ (或更早的版本?),開始棄用 apt-key,改用 trust*.gpg 的 binary 檔的方式匯入 public key。

    > Debmirror problem: gpgv: Can’t check signature: public key not found | lgallardo.com https://lgallardo.com/2013/11/12/problema-de-debmirror-gpgv-cant-check-signature-public-key-not-found/

    回覆刪除
    回覆
    1. 近來在 Ubuntu 22.04 也遇到一樣的問題,是該找時間更新這篇舊文了。🙈

      apt - Can't add a Public Key to Ubuntu 22.04 - Ask Ubuntu https://askubuntu.com/questions/1459005/cant-add-a-public-key-to-ubuntu-22-04

      刪除

張貼留言

喜歡這篇文章嗎?歡迎在底下留言讓凍仁知道。😉

Popular Articles

sudo 指令使用說明