Wie behebt man dieses Apt-Problem unter Ubuntu 18.04 LTS?

Wie behebt man dieses Apt-Problem unter Ubuntu 18.04 LTS?

Fehlermeldung beim Systemupdate: Das Paketsystem ist kaputt Überprüfen Sie, ob Sie Drittanbieter-Repositorys verwenden. Wenn ja, deaktivieren Sie diese, da sie häufig Probleme verursachen. Führen Sie außerdem den folgenden Befehl in einem Terminal aus: apt-get install -f. Beim Versuch sudo apt-get istall -ferhalte ich eine Fehlermeldung:

(Reading database ... 172407 files and directories currently installed.)
Preparing to unpack .../libnvidia-gl-390_390.59-0ubuntu0~gpu18.04.1_i386.deb ...
diversion of /usr/lib/i386-linux-gnu/libGL.so.1 to /usr/lib/i386-linux-gnu/libGL.so.1.distrib by nvidia-340
dpkg-divert: error: mismatch on package
  when removing 'diversion of /usr/lib/i386-linux-gnu/libGL.so.1 by libnvidia-gl-390'
  found 'diversion of /usr/lib/i386-linux-gnu/libGL.so.1 to /usr/lib/i386-linux-gnu/libGL.so.1.distrib by nvidia-340'
dpkg: error processing archive /var/cache/apt/archives/libnvidia-gl-390_390.59-0ubuntu0~gpu18.04.1_i386.deb (--unpack):
 new libnvidia-gl-390:i386 package pre-installation script subprocess returned error exit status 2
Preparing to unpack .../libnvidia-gl-390_390.59-0ubuntu0~gpu18.04.1_amd64.deb ...
diversion of /usr/lib/x86_64-linux-gnu/libGL.so.1 to /usr/lib/x86_64-linux-gnu/libGL.so.1.distrib by nvidia-340
dpkg-divert: error: mismatch on package
  when removing 'diversion of /usr/lib/x86_64-linux-gnu/libGL.so.1 by libnvidia-gl-390'
  found 'diversion of /usr/lib/x86_64-linux-gnu/libGL.so.1 to /usr/lib/x86_64-linux-gnu/libGL.so.1.distrib by nvidia-340'
dpkg: error processing archive /var/cache/apt/archives/libnvidia-gl-390_390.59-0ubuntu0~gpu18.04.1_amd64.deb (--unpack):
 new libnvidia-gl-390:amd64 package pre-installation script subprocess returned error exit status 2
Errors were encountered while processing:
 /var/cache/apt/archives/libnvidia-gl-390_390.59-0ubuntu0~gpu18.04.1_i386.deb
 /var/cache/apt/archives/libnvidia-gl-390_390.59-0ubuntu0~gpu18.04.1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

wie kann ich das beheben?

Antwort1

Löschen Sie zuerst die .deb-Datei mit

sudo rm /var/cache/apt/archives/libnvidia-gl-390_390.59-0ubuntu0~gpu18.04.1_i386.deb

sudo rm /var/cache/apt/archives/libnvidia-gl-390_390.59-0ubuntu0~gpu18.04.1_amd64.deb

Löschen Sie dann alle heruntergeladenen Dateien in Ihrem Cache.

sudo apt-get clean
sudo apt-get autoremove && sudo apt-get autoclean
sudo apt-get install -f
sudo apt-get update

Versuchen Sie abschließend, eine neue Kopie Ihrer Anwendung mit sudo apt-get install zu installieren.

Antwort2

Der relevante Teil der Fehlermeldung ist dieser:

when removing 'diversion of /usr/lib/i386-linux-gnu/libGL.so.1 by libnvidia-gl-390'
  found 'diversion of /usr/lib/i386-linux-gnu/libGL.so.1 to /usr/lib/i386-linux-gnu/libGL.so.1.distrib by nvidia-340'

"Umleitungen" sind eine Sache von dpkg. Das Nvidia-340-Paket muss diese Umleitungen erstellt und nie entfernt haben. Um dies zu überprüfen, führen Sie Folgendes aus:

dpkg-divert --list nvidia-340

und es werden alle angegebenen Umleitungen aufgelistet.

diversion of /usr/lib/x86_64-linux-gnu/libGL.so.1 to /usr/lib/x86_64-linux-gnu/libGL.so.1.distrib by nvidia-340
...

Sie können diese Umleitungen entfernen, indem Sie den umgeleiteten Dateinamen an (erfordert Root) übergeben.

dpkg-divert --remove /usr/lib/x86_64-linux-gnu/libGL.so.1

Sobald Sie die alten Umleitungen bereinigt haben, aptsollte die Installation der neueren Nvidia-Treiberpakete erfolgreich sein.

verwandte Informationen