這幾天在學習redis的時候,裝軟件總是報錯,兩個問題都和dpkg有關,上網查閱了些解決辦法,發現整體來說執行以下方法均可解決。
雖然每個人需要安裝的包不同,但是出現此類問題的不同也只有安裝包的名字,以下辦法通用。
錯誤及解決辦法如下:
問題1:
dpkg: 處理軟件包 redis-server (--configure)時出錯:
子進程 已安裝 post-installation 腳本 返回錯誤狀態 1
正在處理用於 libc-bin (2.23-0ubuntu3) 的觸發器 ...
正在處理用於 systemd (229-4ubuntu10) 的觸發器 ...
正在處理用於 ureadahead (0.100.0-19) 的觸發器 ...
在處理時有錯誤發生:
redis-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
zhangw@zhangw-g470:~$ sudo rm /var/lib/dpkg/info/redis-server.*
#刪除掉目錄下有關redis-server(根據dpkg報錯提示更改軟件包名)的所有文件,感覺這里應該是安裝腳本,不刪除舊的的話,新安裝的包會帶新的腳本過來,刪除掉舊的即可
問題2:
dpkg: 處理軟件包 python-crypto (--configure)時出錯:
該軟件包正處於非常不穩定的狀態;
您最好在配置它之前,先重新安裝它
在處理時有錯誤發生:
python-crypto
E: Sub-process /usr/bin/dpkg returned an error code (1)
#解決這個問題需要備份dpkg下的info,然后自己創建一個新的info,然后更新,再把新的info里的內容拷貝到舊的里面,舊的再改成info,刪除自己添加的
zhangw@zhangw-g470:~$ sudo mv /var/lib/dpkg/info /var/lib/dpkg/info_old
zhangw@zhangw-g470:~$ sudo mkdir /var/lib/dpkg/info
zhangw@zhangw-g470:~$ sudo apt-get update
zhangw@zhangw-g470:~$ sudo apt-get -f install
zhangw@zhangw-g470:~$ sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info_old zhangw@zhangw-g470:~$ sudo rm -rf /var/lib/dpkg/info zhangw@zhangw-g470:~$ sudo mv /var/lib/dpkg/info_old /var/lib/dpkg/info zhangw@zhangw-g470:~$