2009年6月28日 星期日

apt-get/aptitude update 時 GPG error 問題的發生與尋找解決之道

剛剛在 Ubuntu 8.10 上執行
sudo aptitude update
時遇到一個錯誤訊息
W: GPG error: http://download.virtualbox.org intrepid Release: 下列的簽名皆不合法: BADSIG DCF9F87B6DFBCBAE Sun Microsystems, Inc. (xVM VirtualBox archive signing key) <info@virtualbox.org>
於是就到 http://www.virtualbox.org 上面去尋找 GPG 這個關鍵字
果然找到了一篇相關的 bug report 裡面提到一篇郵件清單上面的文章 apt-get update problem: GPG error ... The following signatures
were invalid

文章當中提到了
rm /var/lib/apt/lists/*
就可以解決問題了
可是我不想要把 /var/lib/apt/lists/ 底下的東西都刪光光
於是看了一下 /var/lib/apt/lists/ 底下
[前面省略]
archive.ubuntu.com_ubuntu_dists_intrepid_main_source_Sources
archive.ubuntu.com_ubuntu_dists_intrepid_Release
archive.ubuntu.com_ubuntu_dists_intrepid_Release.gpg
archive.ubuntu.com_ubuntu_dists_intrepid_restricted_source_Sources
download.virtualbox.org_virtualbox_debian_dists_intrepid_non-free_binary-i386_Packages
download.virtualbox.org_virtualbox_debian_dists_intrepid_Release
[後面也省略]
跟之前的錯誤訊息比較看起來只是 VirtualBox 的 Release 這個檔案缺少了相對應的 Release.gpg 檔案
於是就把 download.virtualbox.org_virtualbox_debian_dists_intrepid_non-free_binary-i386_Packages download.virtualbox.org_virtualbox_debian_dists_intrepid_Release 這兩個檔案刪除掉
重新執行
sudo aptitude update
結果問題就... 還是沒有解決... 冏rz

好吧... 重新找線索看看發現 /var/lib/apt/lists/ 底下有個唯一的目錄 partial 底下也有 VirtualBox 相關的檔案
partial/
|-- download.virtualbox.org_virtualbox_debian_dists_intrepid_Release
`-- download.virtualbox.org_virtualbox_debian_dists_intrepid_Release.gpg
那麼試試看把這兩個檔案也刪除掉再執行一次
sudo aptitude update
結果就... 成功地解決掉這個問題啦~ ^o^

再看看 partial 目錄底下還是空空的
不過 partial 上層的目錄底下就看到了
download.virtualbox.org_virtualbox_debian_dists_intrepid_non-free_binary-i386_Packages
download.virtualbox.org_virtualbox_debian_dists_intrepid_Release
download.virtualbox.org_virtualbox_debian_dists_intrepid_Release.gpg
看起來就是 Release 檔案有了相對應的 Release.gpg 檔案
所以才能夠正常地執行~ :-D
張貼留言