修復(fù) Arch Linux 中的 “invalid or corrupted package (PGP signature)” 錯誤
我在物理機(jī)和虛擬機(jī)中都安裝有一些 Arch Linux 系統(tǒng),我會在需要時訪問它們。將近兩個月后,當(dāng)我嘗試使用 sudo pacman -Syu
升級其中一個中的 Arch Linux 時,我遇到了數(shù)百個這樣的錯誤:
Arch Linux 中無效或損壞的包錯誤示例
問題是當(dāng)你遇到上面的錯誤時,你無法升級/更新你的 Arch 系統(tǒng)。即使你同步鏡像或獲得更快的鏡像。所以,如果你運(yùn)行 sudo pacman -Syyu
,錯誤仍然存在。這就造成了困難,因為在修復(fù)此問題之前你無法安裝任何其他軟件包。
原因
當(dāng)你在 Arch Linux 系統(tǒng)上安裝或升級軟件包時,pacman 會根據(jù) archlinux-keyring
軟件包中的密鑰檢查軟件包的數(shù)字簽名。此驗證過程可確保你下載和安裝的軟件包未經(jīng)修改且來自受信任的來源。
它包含用于 驗證包的真實性和完整性 和 pacman 中的密鑰環(huán)。archlinux-keyring
包由 Arch Linux 開發(fā)人員定期更新,以包含新的可信密鑰并撤銷任何泄露的密鑰。
如果你的 Arch Linux 系統(tǒng)很長時間沒有更新,那么各種包的數(shù)字簽名可能會不匹配。更改后的密鑰可能與你系統(tǒng)中的密鑰不匹配。
因此出現(xiàn)錯誤了。
修復(fù)
要修復(fù) Arch Linux 中的 “invalid or corrupted package (PGP signature)” 錯誤,你需要從 Core
倉庫安裝/更新 archlinux-keyring
包。從終端運(yùn)行以下命令:
sudo pacman -S archlinux-keyring
上述命令完成后,運(yùn)行升級:
sudo pacman -Syu
這將解決問題,你可以在 Arch Linux 中繼續(xù)你的正常活動。建議始終保持 archlinux-keyring
包為最新,以維護(hù) Arch Linux 系統(tǒng)的安全性和完整性。