ubuntu中誤刪/var/lib/dpkg/info的補救方法
今晚在ubuntu上安裝一個軟體時,出現這樣的錯誤提示:
E: Sub-process /usr/bin/dpkg returned an error code (1)
然後在網上找了查詢問題原因及解決方法,很多都說是因為系統中的某個軟體有問題,而解決方法好像有不少,但是否奏效就不得而知了。
我試了下面的這個比較好操作的方法。
sudo dpkg --configure -a
sudo apt-get update
sudo apt-get upgrade
然後再裝一次軟體,還是不行,又試了下面這個:
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資料夾重新改回名字
在這個操作過程中,粗心大意誤把/var/lib/dpkg/info下的檔案全部刪掉了,就有點擔心將會出現什麼後果。
根據搜尋得知,/var/lib/dpkg/info下儲存有各個軟體包的配置檔案列表。頓時傻了,這下慘了,以後怎麼更新呢?
也有人說即使把/var/lib/dpkg/info裡面的東西全部刪除系統也不會癱瘓,不過我總不放心。
找了很久也沒找到一個可行的補救方法,有人說可能要重灌,有人則說可以把系統上的一些軟體刪掉再重新安裝就可以恢復info下的檔案了,這還不如重灌系統好了。
去幾個linux的交流群裡求助,在網友的幫助下,終於在某個國外網站上找到一個相關的
sudo apt-get --reinstall install `dpkg --get-selections | grep '[[:space:]]install' | cut -f1`
我把它複製到終端裡執行,它先讀取相關的軟體包,然後問是否要下載這些軟體包,我選擇了下載,有六百多M。等了一個多小時才下載玩。
不過,完後我查看了一下/var/lib/dpkg/info下的檔案,好像也沒有恢復之前的,所以還是不知道這個方法到底有沒有用。