在Ubuntu中删除损坏的包

时间:2018-01-24 20:51:06

标签: ubuntu apt

当我尝试删除包时发生错误,因此它处于断开状态。我尝试了以下方法:

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

输出:

(Reading database ... 41743 files and directories currently installed.)
Removing rvm (1.29.3-1) ...
bash: rvm: command not found
dpkg: error processing package rvm (--purge):
 subprocess installed pre-removal script returned error exit status 127
Errors were encountered while processing:
 rvm

sudo dpkg --purge rvm

输出:与上述相同

sudo dpkg -i --force-overwrite package

输出:

dpkg: error processing archive rvm (--install):
 cannot access archive: No such file or directory
Errors were encountered while processing:
 rvm

有没有办法强行删除它,忽略所有错误?我在WSL上使用Ubuntu 16.04。

6 个答案:

答案 0 :(得分:18)

我遇到了破解包裹的问题, rvm 。我尝试了许多诸如sudo apt install -fsudo dpkg --purge --force-all rvm之类的东西,但没有任何效果。最后,我设法找到了解释how to remove broken packages on Debian/Ubuntu的博客文章。

以下是步骤。

  1. /var/lib/dpkg/info中找到您的包,例如使用:ls -l /var/lib/dpkg/info | grep <package>
  2. 将包文件夹移动到另一个位置,就像我之前提到的博客文章中所建议的那样。

    sudo mv /var/lib/dpkg/info/<package>.* /tmp/
    
  3. 运行以下命令:

    sudo dpkg --remove --force-remove-reinstreq <package>
    
  4. 作为一个例子,我通过在终端中执行以下命令解决了我的问题:

    sudo mv /var/lib/dpkg/info/rvm.* /tmp/
    sudo dpkg --remove --force-remove-reinstreq rvm
    

答案 1 :(得分:2)

  1. 安装突触软件包管理器。

    sudo apt-get install synaptic
    
  2. 打开突触软件包管理器并搜索要删除或安装或更改的软件包

完成!

答案 2 :(得分:1)

因此,在我的情况下,perl-modules-5.22已损坏。 我按照接受的答案中的步骤进行操作,但这不能解决我的问题。

要修复,我还必须:

sudo apt remove -f perl-modules-5.22
sudo apt upgrade -y

答案 3 :(得分:1)

sudo apt remove -f <package_name>

例如:sudo apt remove mongo*将删除所有mongo数据库包。

答案 4 :(得分:0)

我遇到了类似的问题,其中软件包缺少文件,因此无法删除。错误消息为“正在停止服务。无法停止***。service,服务未运行” 由于缺少服务文件,服务未运行。

那么清理包裹难道不是那么容易吗?我想不是。

仍然:运行能力

sudo aptitude

找到有问题的软件包,检查其信息,确认存在哪个版本。 安装与当前版本不同的版本(理想情况下,为了避免太大的更改而向上或向下更新一个补丁程序版本)-它会询问您如何处理丢失的文件-选择从正在安装的版本中替换< / p>

sudo apt-get install <package>=<version>

一旦所有这些丢失的文件都被替换,您应该能够进行标准清除

sudo apt-get purge <package>

答案 5 :(得分:-3)

以根用户身份执行命令

id  a   b   c   d   name    Status
a1  94  18  10  20  b1      Match
a2  20  18  1   2   b2,b3   Missing
a3  21  18  34  32  b2,b3,b4Missing
a4  210 5   10  30  b4,b5   Missmatch
a5  216 5   56  76  b5      Likely

您需要提升包管理器的特权。