E: dpkg was interrupted, you must manually run ‘sudo dpkg --configure -a‘ to correct the problem. 解

[Ubuntu] E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem. 解决办法

问题发生与解决

我是在尝试手动编译安装opencv时,在更新安装软件或程序时遇到了该问题:

E: dpkg was interrupted, you must manually run 'sudo dpkg --configure -a' to correct the problem.

很明显,bug提示我需要运行sudo dpkg --configure -a;

接着,我需要依次运行以下命令更新apt-get源:

sudo apt-get update

sudo apt-get upgrade

但很不幸,我在尝试 upgrade 时提示我 dpkg 被其它程序占用balabala一堆提示,按网上的说法要做一些删除文件的行为,三思,因为有惨痛的导致系统图形化界面崩溃的经历,最保险的方法就是重启机器!

显然上述方法并没有帮助我们解决该问题,根据一篇博客的说明,问题在于/var/lib/dpkg/updates文件下的文件有问题,可能是其他软件安装过程或是其他原因导致的,这里删除掉然后重建即可。接下来我又尝试了如下方法:

sudo rm /var/lib/dpkg/updates/*
sudo apt-get update
sudo apt-get upgrade

另外,如果在执行sudo apt-get upgrade 命令时出现类似下面情况一定要慎重:

Configuration file '/etc/sudoers'
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** sudoers (Y/I/N/O/D/Z) [default=N] ? 

如果不明白就去百度一下,或者选择默认值N,我猜我之前系统图形化界面崩溃就可能与我选择了Y有关!

到这里还没完,又有提示,大概是dpkg: 处理软件包 xxx (–configure)时出错,按如下方法解决:

sudo su                 

mv /var/lib/dpkg/info     /var/lib/dpkg/info_bak

mkdir /var/lib/dpkg/info

apt-get update && apt-get -f install 

mv /var/lib/dpkg/info/*        /var/lib/dpkg/info_bak/

rm -rf /var/lib/dpkg/info

mv /var/lib/dpkg/info_bak /var/lib/dpkg/info

至此,总算成功解决了安装软件包失败的问题。下面附上三篇对我解决问题有帮助的文章(实际上有帮助的可能是第二、三篇):
dpkg was interrupted…解决办法
dpkg was interrupted…解决办法
dpkg: 处理软件包 xxx (–configure)时出错解决方法

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值