Installation der NVIDIA-Treiber am 18.04


31

alle. Ich versuche, mein System so zu reparieren, dass ich die nvidia-Treiber installieren kann, aber es scheint aus irgendeinem Grund hängen zu bleiben. Ich habe versucht, die heruntergeladenen Dateien manuell von zu entfernen

/var/cache/apt/archives/libnvidia-gl-390_390.48-0ubuntu3_i386.deb
/var/cache/apt/archives/libnvidia-gl-390_390.48-0ubuntu3_amd64.deb

... um sie erneut herunterladen zu lassen, aber ohne Erfolg. Hat jemand in letzter Zeit versucht, diese Treiber am 18.04 zu installieren?

~$ sudo apt --fix-broken install
[sudo] password for jarl: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
  lib32gcc1 libc6-i386
Use 'sudo apt autoremove' to remove them.
The following additional packages will be installed:
  libnvidia-gl-390 libnvidia-gl-390:i386
The following NEW packages will be installed
  libnvidia-gl-390 libnvidia-gl-390:i386
0 to upgrade, 2 to newly install, 0 to remove and 4 not to upgrade.
3 not fully installed or removed.
Need to get 0 B/29,1 MB of archives.
After this operation, 147 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
(Reading database ... 214344 files and directories currently installed.)
Preparing to unpack .../libnvidia-gl-390_390.48-0ubuntu3_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.48-0ubuntu3_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.48-0ubuntu3_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.48-0ubuntu3_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.48-0ubuntu3_i386.deb
 /var/cache/apt/archives/libnvidia-gl-390_390.48-0ubuntu3_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Versuchen Sie, den gesamten Cache mit zu leeren, sudo apt-get cleanund versuchen Sie es erneut.
Karl Richter

nachdem das sudo apt-get cleangleiche noch bei mir passiert
Pim Heijden

Antworten:


75

Fand diesen Befehl in Ubuntu-Foren, hat bei mir sehr gut funktioniert:

Lauf:

LC_MESSAGES=C dpkg-divert --list '*nvidia-340*' | sed -nre 's/^diversion of (.*) to .*/\1/p' | xargs -rd'\n' -n1 -- sudo dpkg-divert --remove
sudo apt --fix-broken install

Der erste Befehl entfernt alle umgeleiteten Pakete von nvidia-340. Wenn Sie eine andere NVIDIA-Version haben, die "umleitet", ändern Sie diese; Lesen Sie den Fehlercode, um festzustellen, welche Version umgeleitet wird.

Quelle: https://ubuntuforums.org/showthread.php?t=2388026&p=13761809#post13761809 Lob an stotteringp0et2 :)


2
Wenn du Ubuntu nicht auf Englisch verwendest, musst du die Nummer in awk '{print $3}'etwas anderes ändern, zum Beispiel musste ich sie in ändern awk '{print $2}'. Oder Sie können das Gebietsschema auf Englisch ( for FILE in $(LANG=en dpkg-divert --list | grep nvidia-340 | awk '{print $3}'); do dpkg-divert --remove $FILE; done) ändern .
Petr R.

2
Du hast mich vor meiner Qual gerettet, ich habe hier einen Account angelegt, um dich zu unterstützen
Primusa

14

Hier ist die vollständige Antwort in einem anderen Forum

Die Grundannahme der Antwort lautet:

  1. Sie haben alte Abhängigkeiten, die Sie entfernen möchten
  2. Du willst das Chaos beseitigen
  3. Sie möchten einen neuen Treiber installieren

Ich gehe davon aus, dass Sie cr * p vom 340-Treiber installiert haben - das war mein Problem

  1. entferne alte Abhängigkeiten

    LC_MESSAGES=C dpkg-divert --list '*nvidia-340*' | sed -nre 's/^diversion of (.*) to .*/\1/p' | xargs -rd'\n' -n1 -- sudo dpkg-divert --remove
  2. sauberes Durcheinander - abhängig von dem Durcheinander, das Sie installiert haben, finden Sie es heraus, wenn es nicht sofort funktioniert;)

    sudo dpkg --force-all -P nvidia-390 nvidia-compute-utils-390 nvidia-dkms-390 nvidia-prime nvidia-settings nvidia-opencl-icd-340 nvidia-opencl-icd-384 nvidia-kernel-source-390 nvidia-kernel-common-390 libnvidia-cfg1-390 libnvidia-common-390 libnvidia-compute-390 libnvidia-decode-390 libnvidia-encode-390  libnvidia-fbc1-390 libnvidia-ifr1-390
    sudo apt purge --autoremove '*nvidia*'
    sudo apt-get update
    sudo apt-get upgrade
    
  3. Installieren Sie neue empfohlene Treiber

    ubuntu-drivers devices
    nvidia-settings
    

Mein Rat ist:
Spielen Sie nicht mit Einstellungen in diesem cr * ppy-Treiber, nur um zu überprüfen, ob er installiert ist :)


3
Bitte nicht dpkg --force-allohne Grund vorschlagen ! Die aufgetretenen Abbrüche auf Fehler sollen die Integrität des Paketverwaltungssystems schützen und sollten nicht ohne Bedacht oder Sorgfalt unterdrückt werden! -1
David Foerster

Das funktioniert. Ich muss sagen: Ich habe festgestellt, dass dieses Problem auftritt, wenn 4k-Display verwendet wird - dann haben Sie Probleme beim Booten. Wie ich festgestellt habe: alten Monitor neu stecken und es
bootet

Ich habe # 1 und dann sudo apt install -fund sudo apt upgrade. hat funktioniert.
ICE

Warum ist diese Antwort fast identisch mit der Antwort von Lucas Serafim?
Pim Heijden

6

Ich habe das Problem gelöst, indem ich die Umleitung von nvidia-340 entfernt habe. hoffentlich brauche ich nicht zu verwenden nvidia-340. Folgendes ist ein Beispiel:

dpkg-divert --package nvidia-340 --remove /usr/lib/i386-linux-gnu/libGL.so.1

Sie können weiterhin entfernen, wenn Sie einen Konflikt haben.


Danke vielmals! Zuerst sieht es so aus, als würde es nicht funktionieren, aber wenn wir weiter versuchen und es entfernen, löst es sich schließlich auf. Danke noch einmal.
Gaurav Gandhi

Vielen Dank! Ich konnte dieses Problem nicht überwinden, ohne zu wissen, dass ich die Dpkg-Umleitungsliste für NVIDIA-340-Junk ändern konnte. Sie rocken
Mikis

2

Ich würde apt auto-clean ausführen und sehen, ob es das ist, was ich denke, ein durcheinandergebrachtes Paket.

sudo apt auto-clean
sudo apt update
sudo apt upgrade
sudo apt install nvidia-driver-390 libvulkan1

edit: um deine andere frage zu beantworten, als ich neulich 18.04 installiert habe, hat 390 prima funktioniert, aber 396 war ein bisschen "spaßig". Das hat es für mich behoben.


Vielen Dank. Das ist soweit ich weiß: (Ich glaube, ich mache eine Neuinstallation): ~ $ sudo apt upgrade Paketlisten werden gelesen ... Fertig Abhängigkeitsbaum erstellen Statusinformationen werden gelesen ... Fertig Vielleicht möchten Sie 'apt -' ausführen. -fix-broken install 'um diese zu korrigieren. Die folgenden Pakete weisen nicht erfüllte Abhängigkeiten auf. libnvidia-ifr1-390: Abhängig von: libnvidia-gl-390, aber nicht installiert libnvidia-ifr1-390: i386: Abhängig von: libnvidia-gl-390: i386, aber nicht installiert nvidia-driver-390: Abhängig von: libnvidia- gl-390 (= 390.48-0ubuntu3) aber es ist nicht installiert ....
Jarl Arntzen

.... Recommends: libnvidia-gl-390:i386 (= 390.48-0ubuntu3) E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
Jarl Arntzen

1

Führe dies zuerst aus,

Lösung #for FILE in $(dpkg-divert --list | grep nvidia-340 | awk '{print $3}'); do dpkg-divert --remove $FILE; done

Dann installiere es von ppa,

sudo add-apt-repository ppa:graphics-drivers/ppa 
sudo apt update 
sudo apt install nvidia-390

das hat bei mir auf Ubuntu 18.04 LTS geklappt


Der nvidia-driver-390 befindet sich in den Ubuntu 18.04-Standardrepositorys. Wozu sollte also ein PPA hinzugefügt werden?
Karel
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.