This happened to me when I upgraded from 20.04 to 22.04
I have had to do this manually as I don't think any of the command lines are correct above. I actually lost my graphic interface in the process.
So at black screen I started a new TTY (Ctr alt F2)
I have gone to the folder
/var/lib/dpkg
I copied the diversions-old to a diversion_old.old
Then the diversions to diversions-old
Here was my diversions file:
This happened to me when I upgraded from 20.04 to 22.04
I have had to do this manually as I don't think any of the command lines are correct above. I actually lost my graphic interface in the process.
So at black screen I started a new TTY (Ctr alt F2)
I have gone to the folder
/var/lib/dpkg
I copied the diversions-old to a diversion_old.old
Then the diversions to diversions-old
Here was my diversions file:
/usr/lib/ x86_64- linux-gnu/ libEGL. so x86_64- linux-gnu/ libEGL. so.distrib dict/words dict/words. pre-dictionarie s-common i386-linux- gnu/libGLESv2. so.2 i386-linux- gnu/libGLESv2. so.2.distrib x86_64- linux-gnu/ libGLESv2. so.2 x86_64- linux-gnu/ libGLESv2. so.2.distrib i386-linux- gnu/libGLESv1_ CM.so.1 i386-linux- gnu/libGLESv1_ CM.so.1. distrib pg_config. libpq-dev x86_64- linux-gnu/ libGLESv1_ CM.so x86_64- linux-gnu/ libGLESv1_ CM.so.distrib vim/vim82/ doc/help. txt vim/vim82/ doc/help. txt.vim- tiny x86_64- linux-gnu/ libEGL. so.1 x86_64- linux-gnu/ libEGL. so.1.distrib man/man1/ sh.1.gz man/man1/ sh.distrib. 1.gz i386-linux- gnu/libGLESv2. so i386-linux- gnu/libGLESv2. so.distrib i386-linux- gnu/libEGL. so i386-linux- gnu/libEGL. so.distrib vim/vim82/ doc/tags vim/vim82/ doc/tags. vim-tiny i386-linux- gnu/libGL. so i386-linux- gnu/libGL. so.distrib x86_64- linux-gnu/ libGL.so. 1 x86_64- linux-gnu/ libGL.so. 1.distrib x86_64- linux-gnu/ libGL.so x86_64- linux-gnu/ libGL.so. distrib i386-linux- gnu/libGLESv1_ CM.so i386-linux- gnu/libGLESv1_ CM.so.distrib aisleriot/ cards/bonded. svg aisleriot/ cards/bonded. svg.unbranded i386-linux- gnu/libEGL. so.1 i386-linux- gnu/libEGL. so.1.distrib gnome-mahjongg/ themes/ postmodern. svg gnome-mahjongg/ themes/ postmodern. svg.unbranded x86_64- linux-gnu/ libGLESv1_ CM.so.1 x86_64- linux-gnu/ libGLESv1_ CM.so.1. distrib aisleriot/ pixmaps/ baize.png aisleriot/ pixmaps/ baize.png. unbranded aisleriot/ pixmaps/ slot.svg aisleriot/ pixmaps/ slot.svg. unbranded x86_64- linux-gnu/ libGLESv2. so x86_64- linux-gnu/ libGLESv2. so.distrib i386-linux- gnu/libGL. so.1 i386-linux- gnu/libGL. so.1.distrib
/usr/lib/
nvidia-340
/usr/share/
/usr/share/
dictionaries-common
/usr/lib/
/usr/lib/
nvidia-340
/usr/lib/
/usr/lib/
nvidia-340
/usr/lib/
/usr/lib/
nvidia-340
/usr/bin/pg_config
/usr/bin/
postgresql-common
/usr/lib/
/usr/lib/
nvidia-340
/usr/share/
/usr/share/
vim-runtime
/usr/lib/
/usr/lib/
nvidia-340
/usr/share/
/usr/share/
dash
/usr/lib/
/usr/lib/
nvidia-340
/usr/lib/
/usr/lib/
nvidia-340
/usr/share/
/usr/share/
vim-runtime
/usr/lib/
/usr/lib/
nvidia-340
/usr/lib/
/usr/lib/
nvidia-340
/usr/lib/
/usr/lib/
nvidia-340
/usr/lib/
/usr/lib/
nvidia-340
/usr/share/
/usr/share/
branding-ubuntu
/usr/lib/
/usr/lib/
nvidia-340
/usr/share/
/usr/share/
branding-ubuntu
/bin/sh
/bin/sh.distrib
dash
/usr/lib/
/usr/lib/
nvidia-340
/usr/share/
/usr/share/
branding-ubuntu
/usr/share/
/usr/share/
branding-ubuntu
/usr/lib/
/usr/lib/
nvidia-340
/usr/lib/
/usr/lib/
nvidia-340
I basically removed all the diversions for nvidia 340 (they are by groups of 3 lines)
Then
apt --fix-broken install
Now it works