如何修复“dkpg-divert:错误:包不匹配”?

bre*_*anz 7 apt nvidia dpkg 19.10

我在跑步apt --fix-broken install。我得到:

dpkg-divert: error: mismatch on package when removing 'diversion of /usr/lib/i386-linux-gnu.so.1 by libnvidia-gl-390'
found 'diversion of /usr/lib/i386-linux-gnu.so.1 to /usr/lib/i386-linux-gnu.so.1.distrib by nvidia-340
Run Code Online (Sandbox Code Playgroud)

(还有其他的东西,但让我们一步一步来)

啊哈!我想;然后我将删除 nvidia-340,除非......

apt remove nvidia-340
...
Package 'nvidia-340' is not installed, so not removed
Run Code Online (Sandbox Code Playgroud)

如何从我查看的软件包(尽管未安装)中删除转移错误?我缺少什么?

bre*_*anz 5

看起来这是 Ubuntu 的一个错误。软件包 libnvidia-gl-390(未安装)安装/升级失败:新的 libnvidia-gl-390:amd64 软件包预安装脚本子进程返回错误退出状态 2(未修复)

我所做的解决方法是#5,尤里对亚历山大建议的改进

尝试

# for FILE in $(dpkg-divert --list | grep nvidia-340 | awk '{print $3}'); 回显 $FILE; 完毕

首先为子串选择正确的数字{print $3}

例如,对于俄语语言环境,它将是 $2:

# for FILE in $(dpkg-divert --list | grep nvidia-340 | awk '{print $2}'); 执行 dpkg-divert --remove $FILE; 完毕