Apt
更新自託管 apt 儲存庫中的 PGP 密鑰
我們正在使用
Sonatype Nexus Repository Manager
來託管apt
儲存庫。其中一個的GPG
密鑰最近已過期,需要更新。我認為足夠的是生成新的密鑰對(如官方站點文件中所述),通過 Nexus UI 和新密碼粘貼新的私鑰,然後apt-key add
在客戶端系統上粘貼新的公鑰,一切都會很好。相反,發生的事情apt update
仍然是NO_PUBKEY <old_id>
. 我不知道現在從哪裡apt
獲取資訊,它錯過了舊密鑰並且沒有“同步”新密鑰。/var/lib/apt/lists/
在呼叫apt update
. 我錯過了什麼?編輯:全部在乾淨的 docker 中執行,其中僅添加新密鑰
apt-key add public.gpg.key
和新儲存庫/etc/apt/sources.list
,echo "deb <repo_url> bionic main" >> /etc/apt/sources.list
我已經設法解決了這個問題。nexus apt 儲存庫創建兩個文件夾。一個叫
metadata
一個叫packages
。在metadata
文件夾中,文件Release
和InRelease
被Release.gpg
創建。當在 UI 中更改密鑰時,這些不會自動重新生成。要強制重新生成這些文件,必須刪除該文件夾並上傳一個包。這將觸發元數據文件夾的重新生成,其中包含所有適當的文件。完成此操作後,按鍵正在工作。