Debian Linux deb 安裝失敗導致 Package 無法移除 解法

Debian 使用 dpkg 安裝 Package, 但是此 Package 有很多其它相依性, 造成安裝完成後, 需要補 相依Package, 但 相依的Package 無法安裝, 而此 Package 也無法移除, 造成很大的困擾.

移除 Package, 使用 apt-get remove / dpkg -r 都移不掉的時後, 那就只好手動來做.

手動移除 deb Package 步驟

  1. 找出此 Package 相關安裝的檔案, 下述兩種都是列出 Package file list 的方法.

    dpkg -L Package-Name (都砍掉)
    cd /var/cache/apt/archives; dpkg -c Package-Name.deb

  2. 將索引文件中的 Package 訊息刪除.

    vim /var/lib/dpkg/status # 找到 "Package: Package-Name", 將此到下一個 Package: 開頭前的都刪除.
    cd /var/lib/dpkg/info
    rm -fr Package-Name.* # 一些 md5/list/shlibs 等

  3. 重建索引

    apt-get update

大多數應該只要執行 2, 3 步驟即可, 1 沒砍乾淨是比較無所謂. (1 砍的時後要注意有些 Package 可能會共用設定之類的)

如果 Package 本身要安裝, 只是要補其它相依性, 而造成無法安裝的問題, 那只要執行 2, 3 的步驟, 然後補足相依性後,再直接安裝即可(相同檔案會被蓋掉, 所以還是一樣的).

相關參考網頁

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料