如何在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 

但我没有得到任何结果。 我无法安装突触。 任何想法如何删除破损的包裹?

运行此命令以删除ubuntu中损坏的包。

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

删除包后用命令更新系统

sudo apt-get update

成功更新后重启系统。

打开终端并使用以下命令

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

它应该解决你的问题。

我发现:

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

效果最好。 如果它给你一个错误,它不会删除包,因为它依赖于另一个包,也删除其他包。 您必须多次重复此步骤,然后重新安装已删除的软件包。

force-remove-reinstreq是删除包裹的“核选项”。 如果有另一个包取决于您要删除的包,它只会失败 – 同样,在这种情况下,也删除了依赖包。

打开终端,然后逐行粘贴这些行

 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 

然后再试一次

这解决了我的问题:

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

上面没有任何内容对我有用。 最后我编辑了/ var / lib / dpkg / status文件并从那里删除了包。

我不建议这样做,只要有其他事情失败……

重复相同的错误如果我们执行apt-get cleanapt-get -f install除非我们从Ubuntu中的/var/lib/dpkg/status文件中删除垃圾数据。

假设我们需要删除apache破解的包。 最初我们必须打开状态文件并搜索包apache。 删除整个包描述并保存状态文件。 然后尝试使用apt-get -f installapt-get clean

这是一个:

像这样更新您的包列表

  sudo apt-get update 

然后清理任何部分包

  sudo apt-get autoclean 

现在清理apt缓存

  sudo apt-get clean 

现在删除任何不必要的依赖项

  sudo apt-get autoremove 

从上面的命令,您可以识别任何损坏的包,并像这样强行删除它

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

最后mopup任何其他包含dependacies的包

  sudo apt-get -f install 

告诉我它是怎么回事。

  1. 查询今天或昨天安装的所有软件包awk -v foo=$(date '+%Y-%m-%d') -v bar=$(date -d "yesterday" '+%Y-%m-%d') '($1==foo || $1==bar) && $3~/^install$/ { print $4 }' /var/log/dpkg.log
  2. wine-qqintl:i386引起了问题,所以我删除了包sudo dpkg -r wine-qqintl:i386

  3. 完成。

我有一个破坏kodi包的问题。 我打开了突触包管理器,并使用“破损”filter找到包并标记它以完全删除。 它像一个冠军一样工作。

以上都不适合我

我使用了sudo aptitude

它立即发现了错误并提供了选项。 您选择并修复它。