透過修復儲存庫金鑰來修復 APT 簽章錯誤
透過識別失敗的來源、刷新其已驗證的金鑰並檢查結果,安全地解決 Ubuntu APT 簽章警告,而無需停用安全性。
如果 APT 報告“以下簽名無法驗證”,請在相同輸出中識別儲存庫和特定的錯誤代碼,然後修復該儲存庫的受信任簽署金鑰或來源條目。對於第三方儲存庫,請從軟體發布者取得其目前金鑰,並將其綁定至該來源Signed-By;切勿停用簽章檢查或全域新增未知金鑰。

執行更新程式以便查看完整訊息:
sudo apt update
尋找 URL 旁的Err:標記,例如NO_PUBKEY`<source>`、EXPKEYSIG` KEYEXPIRED<repository>`、`<repository>` 或 `<repository> BADSIG`。 URL 會告訴您哪個來源失敗了;標記可以縮小失敗原因的範圍。 APT 會在信任軟體包索引之前驗證已簽署的儲存庫元數據,因此簽章檢查失敗是一個安全訊號,而不僅僅是一個表面警告。 Ubuntu 安裝已經包含了預設 Ubuntu 歸檔檔案的金鑰;通常只有後來新增的儲存庫才需要手動設定金鑰。
透過搜尋錯誤訊息中指定的主機名稱來尋找來源定義。將範例主機名稱替換為您終端機中顯示的主機名稱:

grep -R "packages.example.org" /etc/apt/sources.list /etc/apt/sources.list.d/ 2>/dev/null
Ubuntu 24.04 及更高版本.sources預設使用以 .deb822 結尾的來源檔案;較舊的版本通常使用單行.list檔案。請檢查軟體倉庫 URL、套件或 Ubuntu 代號,以及任何已存在的Signed-By條目。如果來源檔案所指向的版本已不再受廠商支持,請按照廠商針對您的 Ubuntu 版本提供的說明進行操作,或停用該來源檔案。密鑰無法修復過時或錯誤的軟體倉庫路徑。
首先NO_PUBKEY,請確認該儲存庫是您有意安裝的。開啟發布者的最新安裝文檔,從中取得簽署金鑰 URL 和完整指紋。如有供應商提供的參考訊息,請將該指紋與單獨發布的參考資訊進行比較。切勿僅僅因為某個金鑰伺服器的短 ID 與錯誤訊息匹配就從該伺服器取得金鑰。
對於發布 ASCII 加密金.asc鑰的供應商,請將其安裝為專用 APT 金鑰環。將範例 URL 替換為該供應商提供的確切 URL:
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://vendor.example/path/repo-signing-key.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/vendor-archive.gpg
sudo chmod 0644 /etc/apt/keyrings/vendor-archive.gpg
該.gpg文件必須對 APT 的非特權下載使用者可讀。如果發布者提供了二進位.gpg密鑰環,請按照其說明操作,不要再次重置它。 Ubuntu 建議將第三方金鑰放在單獨的金鑰環中,並由該軟體倉庫引用,從而限制可以使用該金鑰的來源。

編輯現有來源定義,而不是新增重複條目。對於類似 deb822 檔案的情況/etc/apt/sources.list.d/vendor.sources,請使用供應商實際的 URI、套件和元件值,然後新增金鑰環路徑:
Types: deb
URIs: https://packages.example.org/ubuntu
Suites: YOUR_UBUNTU_CODENAME
Components: main
Signed-By: /etc/apt/keyrings/vendor-archive.gpg
如果現有條目位於單行.list檔案中,則等效語法為 ` deb [signed-by=/etc/apt/keyrings/vendor-archive.gpg] https://packages.example.org/ubuntu YOUR_UBUNTU_CODENAME main.`。請保留儲存庫文件中記錄的套件和元件;範例值僅為佔位符。避免使用 `.` apt-key add:它已被棄用,且全域受信任金鑰可能會授予第三方金鑰超出預期的權限。
如果訊息顯示“已過期EXPKEYSIG”或KEYEXPIRED“已更換”,則表示簽章金鑰可能已過期或供應商已輪替金鑰。請按照供應商的最新說明下載並驗證替換金鑰,然後更新來源金鑰環。切勿忽略過期資訊而延長舊密鑰的信任期限。
如果軟體來源是官方 Ubuntu 歸檔,請勿匯入第三方金鑰。使用 `sudo config` 指令檢查系統時鐘是否正確timedatectl status,並確認來源使用的 URL 和已安裝版本的代號是否有效。ubuntu-keyring軟體包提供 Ubuntu 歸檔簽章金鑰;如果軟體包管理仍可透過受信任的 Ubuntu 來源正常運作,請使用以下命令刷新軟體包:
sudo apt install --reinstall ubuntu-keyring
此BADSIG訊息表示簽章與 APT 收到的元資料不符。重複導入密鑰通常是錯誤的。請檢查系統時鐘是否有錯誤、鏡像是否過期或不一致、快取代理是否正常運作,或倉庫端的發布是否有問題;修正問題後再重試。如果只有第三方來源發生故障且您不需要它,請在聯絡其維護者期間停用其特定.sources條目.list。請保持安全驗證啟用狀態。

再次運行sudo apt update。當受影響的儲存庫在取得過程中不再出現簽章警告,且 APT 達到指定狀態時,修正即完成Reading package lists... Done。更新成功並不代表第三方發布者安全,而是確認元資料簽章與您選擇信任的金鑰相符。如果驗證仍然失敗,請在進行任何變更之前,請重新檢查儲存庫 URL、代號、金鑰指紋、金鑰環權限以及確切的錯誤令牌。
有關支援的來源和金鑰格式,請參閱Ubuntu 的第三方儲存庫指南、Ubuntu apt-secure 手冊和Ubuntu 歸檔完整性文件。
透過識別失敗的來源、刷新其已驗證的金鑰並檢查結果,安全地解決 Ubuntu APT 簽章警告,而無需停用安全性。
學習平衡三相公式,並逐步轉換線電壓、電流、kW、kVA 和功率因數,並提供範例和檢查極限。
在 systemd 範圍內運行工作負載,並設定 CPUQuota 和 MemoryMax,然後透過 cgroup v2 驗證限制。
在 Ubuntu 24.04 上將 dnscrypt-proxy 設定為 Pi-hole 的本地 DoH 橋,設定僅限 localhost 的監聽器、解析器選擇以及切換 DNS 前的檢查。
在排查應用程式或硬體故障之前,請檢查 Ubuntu 的觸控板設定、確認 Wayland 以及測試 GNOME 的內建滑動功能。
建立並驗證一個雙磁碟 Debian 12 RAID 1 資料陣列,安全地格式化它,並配置它在重新啟動後組裝和掛載。
為現有的 Debian 12 交換分區設定隨機金鑰加密,驗證活動的 dm-crypt 映射,並了解休眠的權衡。
使用 chroot、適當的權限、匹配規則和安全測試,將 Ubuntu 24.04 SSH 帳戶限製到指定的 SFTP 資料夾,而不授予 shell 存取權限。
找到擁有 Ubuntu dpkg 前端鎖定的進程,讓軟體包工作完成,並在不刪除鎖定檔案的情況下修復中斷的安裝。
使用 Timeshift 在 Ubuntu Desktop 上設定定時 Btrfs 系統快照,驗證 Ubuntu 子磁碟區佈局,選擇保留策略,並了解快照無法保護的內容。