1. 程式人生 > >dpkg:警告:無法找到軟體包 XXXX 問題解決

dpkg:警告:無法找到軟體包 XXXX 問題解決

糾結了好久在ubuntu server 上 出現的 一大批“ dpkg:警告:無法找到軟體包 XXXX 問題” 終於解決了!

先來講講 這個問題是咋出來的

一.由於前段時間想安裝一個vsftpd+ldap在伺服器上,google了各種安裝配置方法,沒裝成功!

因為多次嘗試,使用了各種apt-get install  +apt-get remove ,結果就導致出現了 一些“pkg:警告:無法找到軟體包 XXXX ” 問題

當時,警告還是很少的 也就是提示無法找到的包不多,漸漸地,伺服器裝的東西多了,這個問題就越來越明顯

於是求google 大師,找各種答案  其中:

  1.$ sudo mv /var/lib/dpkg/info /var/lib/dpkg/info_old //現將info資料夾更名


2.$ sudo mkdir /var/lib/dpkg/info //再新建一個新的info資料夾
3.$ sudo apt-get update, apt-get -f install
4.$ sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info_old //執行完上一步操作後會在新的info資料夾下生成一些檔案,現將這些檔案全部移到info_old資料夾下
5.$ sudo rm -rf /var/lib/dpkg/info //把自己新建的info資料夾刪掉
6.$ sudo mv /var/lib/dpkg/info_old /var/lib/dpkg/info //把以前的info資料夾重新改回名字

被我嘗試多次,依然會出現那個問題!

其實這裡 我們可以發現為什麼會在安裝新的內容時會出現無法找到軟體包問題,因為在apt-get install 安裝一個新包時 先回去檢查/var/lib/dpkg/info/目錄下的已安裝包的配置檔案資訊;如果發現有已經安裝的應用 的配置檔案資訊不在info目錄下 就會提示這個錯誤

 所以這個時候我們 可以通過:sudo dpkg --configure -a

然後通過:dpkg -l | grep ^ii | awk '{print $2}' | grep -v XXX | xargs sudo aptitude reinstall 

重新獲取包內容配置資訊 ,這樣一步步重新安裝下去 很快就可以解決這個問題了

二.當然也還有第二種方法,那就是通過:sudo apt-get --reinstall install `dpkg --get-selections | grep '[[:space:]]install' | cut -f1`

來重新安裝全部軟體,會全部重新整理info目錄 不過這個方法就要多花點時間去等了