前言
首先说点废话,这个问题是怎么产生的。是这样的,我想要安装 cuda-11-0
,但是装到后面就没有空间了,当我通过 sudo apt clean
清点缓存文件,再装,提示需要 apt --fix-broken install
;输入后发现剩余空间不足,寄。
这时我这个大聪明选择了手动在 /usr/local/
手动删除 cuda-11.0
,然后重装,就出现了这样的问题。应该是重复了。
尝试过的方法,具体点进链接查看:
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
后面可能还会出现这种情况,就继续这样操作,直到成功安装。