web-dev-qa-db-fra.com

Mises à jour d'Ubuntu 18.04 bloquées par des problèmes de pilote Nvidia 340 "essayant de remplacer le fichier qui se trouve également dans le paquet"

Mon problème est dû à un bogue enregistré dans les pilotes Nvidia 340 qui installe des bibliothèques en conflit, tout cela est connu, mais le résultat est comme ci-dessous. Malheureusement, la cause fondamentale est maintenant perdue dans le bruit, car je n’ai pas remarqué le problème qui se développait et j’ai essayé de le résoudre!

Toute tentative de mise à jour ou de correction fait apparaître quelque chose comme ci-dessous:

(Reading database ... 295094 files and directories currently installed.)
Preparing to unpack .../libgles1_1.0.0-2ubuntu2.2_i386.deb ...
Unpacking libgles1:i386 (1.0.0-2ubuntu2.2) ...
dpkg: error processing archive /var/cache/apt/archives/libgles1_1.0.0-2ubuntu2.2_i386.deb (--unpack):
 trying to overwrite '/usr/lib/i386-linux-gnu/libGLESv1_CM.so.1', which is also in package nvidia-340 340.106-0ubuntu3
Preparing to unpack .../libglvnd-dev_1.0.0-2ubuntu2.2_i386.deb ...
Unpacking libglvnd-dev:i386 (1.0.0-2ubuntu2.2) ...

dpkg: error processing archive /var/cache/apt/archives/libglvnd-dev_1.0.0-2ubuntu2.2_i386.deb (--unpack):
 trying to overwrite '/usr/lib/i386-linux-gnu/libGLESv1_CM.so', which is also in package nvidia-340 340.106-0ubuntu3
Errors were encountered while processing:
 /var/cache/apt/archives/libgles1_1.0.0-2ubuntu2.2_i386.deb
 /var/cache/apt/archives/libglvnd-dev_1.0.0-2ubuntu2.2_i386.deb

Comment puis-je résoudre ce problème et remettre mon système à jour?

J'ai essayé:

Sudo apt --fix-broken install
Sudo apt-get purge nvidia*

Puis-je supprimer en toute sécurité quelque chose pour libérer le processus? Les paquets ci-dessous ou les archives ci-dessus, par exemple, qui semblent poser le problème immédiat. Si je peux les enlever, comment puis-je le faire?

The following packages have unmet dependencies.

 libegl1-mesa-dev : Depends: libglvnd-dev but it is not going to be installed
 libgl1-mesa-dev : Depends: libglvnd-dev but it is not going to be installed
 libgles2-mesa-dev : Depends: libglvnd-dev but it is not going to be installed

J'ai trouvé d'autres réponses qui forcent l'écrasement des bibliothèques problématiques, mais elles sont semées d'embûches potentielles et ne traitent pas directement la racine du problème, la mise à jour publiée corrige le problème, pas les symptômes, et la réponse ci-dessous complète cette mise à jour.

1
Frank

Alors je suis revenu au bogue et ai lu les derniers commentaires et ai finalement trouvé quelqu'un qui semblait savoir ce qu'il faisait mais installait le candidat à la version proposée. J'ai suivi son exemple et ai fait de même, mais j'ai laissé le candidat et ça a marché. C'est ici:

Sudo apt download nvidia-340
Sudo dpkg -i nvidia-340_340.107-0ubuntu0.18.04.1_i386.deb 

(Vous pouvez taper nvidia-340_340 puis appuyer sur tab compléter)

Sudo apt-get install -f
Sudo apt update
Sudo apt upgrade

Le dernier bit est juste du bon sens mais pour être complet. Si vous suivez ceci, ne tapez pas le nom de fichier complet car il a peut-être été mis à jour. Ma machine est maintenant revenue à la normale, merci.

1
Frank