E: Sub-process /usr/bin/dpkg returned an error code 解決辦法


參考鏈接:http://www.maybe520.net/blog/999/

最近一直不斷地拿ubuntu來做實驗,安裝了各種軟件,終於出現問題了。使用sudo apt-get install 安裝軟件到最后時總是給我這樣的提示:Sub-process /usr/bin/dpkg returned an error code (1)

當我在終端輸入 sudo apt-get autoremove 時則提示:
Errors were encountered while processing:
foomatic-filters
libapache2-mod-php5
php5-cli
php-pear
php5
php5-gd
php5-mysql
samba-common
samba-common-bin
smbclient
E: Sub-process /usr/bin/dpkg returned an error code (1)

看來是我的ubuntu中的一些軟件包出現依賴問題了。該怎么解決呢?

我在網上找到了兩種方法。

方法一是:

打開終端,輸入

cd /var/lib/dpkg/info

sudo rm -f  foomatic-filters #即刪掉上面提示到的那些出錯的軟件包

sudo apt-get update -f

sudo apt-get -f install

sudo apt-get upgrade

sudo apt-get install foomatic-filters  #即又重新安裝回原來出錯的軟件包

不過由於原文作者提示這種方法可能會有風險,所以我沒有嘗試,我用的是第二種解決方法。

出現E: Sub-process /usr/bin/dpkg returned an error code (1)錯誤提示的第二種解決方法是:

cd /var/lib/dpkg

sudo mv info info.bak #即備份一個info

sudo mkdir info #新建一個新的info目錄

然后采用以下命令重裝那些出錯的軟件包

sudo apt-get –reinstall install 軟件包名

開始我是想在一條命令中同時安裝幾個軟件包,結果還是出現E: Sub-process /usr/bin/dpkg returned an error code (1) 。於是把新的info刪掉,一個個地來安裝,每裝好一個軟件包,就把info刪掉,再新建一個,這樣就沒有提示E: Sub-process /usr/bin/dpkg returned an error code (1) 了。

最后用原來的info.bak 替換新的info

sudo -rf info

sudo mv info.bak info

之后輸入 sudo apt-get update 和 sudo apt-get upgrade 以及sudo apt-get autoremove 都不再有E: Sub-process /usr/bin/dpkg returned an error code (1)了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM