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