今晚在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下的文件,好像也沒有恢復之前的,所以還是不知道這個方法到底有沒有用。