当我尝试删除包时发生错误,因此它处于断开状态。我尝试了以下方法:
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。
答案 0 :(得分:18)
我遇到了破解包裹的问题, rvm 。我尝试了许多诸如sudo apt install -f
和sudo dpkg --purge --force-all rvm
之类的东西,但没有任何效果。最后,我设法找到了解释how to remove broken packages on Debian/Ubuntu的博客文章。
以下是步骤。
/var/lib/dpkg/info
中找到您的包,例如使用:ls -l /var/lib/dpkg/info | grep <package>
将包文件夹移动到另一个位置,就像我之前提到的博客文章中所建议的那样。
sudo mv /var/lib/dpkg/info/<package>.* /tmp/
运行以下命令:
sudo dpkg --remove --force-remove-reinstreq <package>
作为一个例子,我通过在终端中执行以下命令解决了我的问题:
sudo mv /var/lib/dpkg/info/rvm.* /tmp/
sudo dpkg --remove --force-remove-reinstreq rvm
答案 1 :(得分:2)
安装突触软件包管理器。
sudo apt-get install synaptic
打开突触软件包管理器并搜索要删除或安装或更改的软件包
完成!
答案 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
您需要提升包管理器的特权。