問題描述
我無法刪除破損的包裹。使用以下命令:sudo apt-get -f install
,但得到以下響應:
Preparing to unpack .../nodejs_0.10.28-1chl1~trusty1_amd64.deb ...
Unpacking nodejs (0.10.28-1chl1~trusty1) over (0.10.25~dfsg2-2ubuntu1) ...
dpkg: error processing archive /var/cache/apt/archives/nodejs_0.10.28-1chl1~trusty1_amd64.deb (--unpack):
trying to overwrite '/usr/share/man/man1/node.1.gz', which is also in package nodejs-legacy 0.10.25~dfsg2-2ubuntu1
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Processing triggers for man-db (2.6.7.1-1) ...
Errors were encountered while processing:
/var/cache/apt/archives/nodejs_0.10.28-1chl1~trusty1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
我嘗試了各種命令
2015 sudo apt-get clean
2020 sudo dpkg --configure -a
2023 sudo apt-get autoremove
2034 sudo apt-get upgrade && sudo apt-get -f install
但是我沒有得到任何結果。我無法安裝突觸。有什麽想法可以刪除損壞的包裝嗎?
最佳方案
運行此命令以刪除ubuntu中損壞的軟件包。
sudo dpkg --remove --force-remove-reinstreq package_name
刪除軟件包後,使用命令更新係統
sudo apt-get update
成功更新後重新啟動係統。
次佳方案
我發現:
sudo dpkg --remove --force-remove-reinstreq <packagename>
效果最好。如果它提示您由於另一個軟件包所依賴而無法刪除該軟件包,則也請刪除該另一個軟件包。您必須多次重複此步驟,然後重新安裝已刪除的軟件包。
force-remove-reinstreq
是刪除程序包的”nuclear option”。隻有根據要刪除的軟件包有另一個軟件包時,此操作才會失敗-同樣,在這種情況下,請刪除相關軟件包。
第三種方案
打開終端並使用以下命令
sudo dpkg --purge nodejs-legacy
sudo apt-get install -f
它應該可以解決您的問題。
第四種方案
這解決了我的問題:
sudo dpkg -i --force-overwrite /var/cache/apt/archives/nodejs_0.10.28-1chl1~trusty1_amd64.deb
第五種方案
以上都不對我有用。最終,我編輯了/var /lib /dpkg /status文件,並從那裏刪除了軟件包。
艱難的是我不建議這樣做,即使其他事情失敗了…
第六種方案
打開您的終端,然後逐行粘貼這些行
sudo rm -rf /var/cache/apt/archives/nodejs_0.10.28-1chl1~trusty1_amd64.deb
sudo apt-get autoclean
sudo apt-get update
sudo apt-get upgrade
然後再試一次