ubuntu“dpkg: error...which is also in package...“的解决方法

前言

首先说点废话,这个问题是怎么产生的。是这样的,我想要安装 cuda-11-0,但是装到后面就没有空间了,当我通过 sudo apt clean 清点缓存文件,再装,提示需要 apt --fix-broken install ;输入后发现剩余空间不足,寄。
这时我这个大聪明选择了手动在 /usr/local/ 手动删除 cuda-11.0 ,然后重装,就出现了这样的问题。应该是重复了。

尝试过的方法,具体点进链接查看:

参考方法1和2

sudo dpkg -i --force-overwrite <file-path>

不行;

sudo dpkg -P xxx

同样行不通。

方法

在下面这里找到了方法:

参考方法

直接的方法,哪里重复了就删掉哪里。首先进入:

sudo vim /var/lib/dpkg/status 

然后删掉重复的那一大块。

顺便给出 vim 中怎么搜索:使用 /xxx 搜索 xxx ,按下 Enter 键,然后通过按下 n 键往下匹配,按下 N 键往上匹配。

例子

举个例子(由于记录被覆盖了,所以就用参考方法中的报错作为例子):

dpkg: error processing /var/cache/apt/archives/libcv-dev_2.1.0-7build1_amd64.deb 
(--           unpack):
trying to overwrite '/usr/bin/opencv_haartraining', which is also in package
libopencv2.3-bin 2.3.1+svn6514+branch23-12~oneiric

可以看到是 libopencv2.3-bin 重复了,通过:

sudo vim /var/lib/dpkg/status 

进入,通过 /libopencv2.3-bin 匹配到,通过 dd 进行删除(剪切)。
然后重新:

sudo apt --fix-broken -y install

后面可能还会出现这种情况,就继续这样操作,直到成功安装。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值