如何在 ubuntu 中删除损坏的软件包

如何在 ubuntu 中删除损坏的软件包

我无法移除损坏的包。使用以下命令: 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

但我没有得到任何结果。我无法安装 synaptic。有什么想法可以删除损坏的软件包吗?

答案1

运行此命令来删除 ubuntu 中损坏的软件包。

sudo dpkg --remove --force-remove-reinstreq package_name 

删除软件包后使用命令更新系统

sudo apt-get update

更新成功后重新启动系统。

答案2

打开终端并使用以下命令

sudo dpkg --purge nodejs-legacy
sudo apt-get install -f

它应该可以解决你的问题。

答案3

这解决了我的问题:

sudo dpkg -i --force-overwrite /var/cache/apt/archives/nodejs_0.10.28-1chl1~trusty1_amd64.deb

答案4

如果您有一个损坏的依赖关系(我曾经遇到过openjdk),您将需要清除该包并强制它跳过依赖关系问题:

sudo dpkg -P --force-depends package_name

我在另一个论坛上找到了答案

相关内容