当我的包管理器似乎也损坏了时,我该如何修复损坏的 NVIDIA 驱动程序?

当我的包管理器似乎也损坏了时,我该如何修复损坏的 NVIDIA 驱动程序?

每当我尝试在apt-get或中执行某些操作时apt,我总是收到此消息:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'nvidia-current' is not installed, so not removed
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 libnvidia-ifr1-396 : Depends: libnvidia-gl-396 but it is not going to be installed
 libnvidia-ifr1-396:i386 : Depends: libnvidia-gl-396:i386 but it is not going to be installed
 nvidia-driver-396 : Depends: libnvidia-gl-396 (= 396.24.02-0ubuntu0~gpu18.04.1) but it is not going to be installed
                     Recommends: libnvidia-gl-396:i386 (= 396.24.02-0ubuntu0~gpu18.04.1)
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

然后,当我尝试时apt --fix-broken install,它给了我:

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-396 libnvidia-gl-396:i386
The following NEW packages will be installed:
  libnvidia-gl-396 libnvidia-gl-396:i386
0 upgraded, 2 newly installed, 0 to remove and 72 not upgraded.
3 not fully installed or removed.
Need to get 0 B/32.3 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 ... 236145 files and directories currently installed.)
Preparing to unpack .../libnvidia-gl-396_396.24.02-0ubuntu0~gpu18.04.1_i386.deb ...
dpkg-query: no packages found matching libnvidia-gl-390
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-396'
  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-396_396.24.02-0ubuntu0~gpu18.04.1_i386.deb (--unpack):
 new libnvidia-gl-396:i386 package pre-installation script subprocess returned error exit status 2
Preparing to unpack .../libnvidia-gl-396_396.24.02-0ubuntu0~gpu18.04.1_amd64.deb ...
dpkg-query: no packages found matching libnvidia-gl-390
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-396'
  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-396_396.24.02-0ubuntu0~gpu18.04.1_amd64.deb (--unpack):
 new libnvidia-gl-396:amd64 package pre-installation script subprocess returned error exit status 2
Errors were encountered while processing:
 /var/cache/apt/archives/libnvidia-gl-396_396.24.02-0ubuntu0~gpu18.04.1_i386.deb
 /var/cache/apt/archives/libnvidia-gl-396_396.24.02-0ubuntu0~gpu18.04.1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

我也尝试过sudo dpkg --configure -a,但是它也给出了错误:

dpkg: dependency problems prevent configuration of nvidia-driver-396:
 nvidia-driver-396 depends on libnvidia-gl-396 (= 396.24.02-0ubuntu0~gpu18.04.1); however:
  Package libnvidia-gl-396:amd64 is not installed.

dpkg: error processing package nvidia-driver-396 (--configure):
 dependency problems - leaving unconfigured
Processing triggers for libc-bin (2.27-3ubuntu1) ...
dpkg: dependency problems prevent configuration of libnvidia-ifr1-396:amd64:
 libnvidia-ifr1-396:amd64 depends on libnvidia-gl-396; however:
  Package libnvidia-gl-396:amd64 is not installed.

dpkg: error processing package libnvidia-ifr1-396:amd64 (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of libnvidia-ifr1-396:i386:
 libnvidia-ifr1-396:i386 depends on libnvidia-gl-396; however:
  Package libnvidia-gl-396:i386 is not installed.

dpkg: error processing package libnvidia-ifr1-396:i386 (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 nvidia-driver-396
 libnvidia-ifr1-396:amd64
 libnvidia-ifr1-396:i386

我也无法从驱动程序更改nvidia-driver-396为 nouveau 驱动程序。我该如何解决这个问题?我在 Ubuntu 18.04 上。

答案1

安装 Steam、Play on Linux 和 Lutris 后,我遇到了类似的问题。升级、删除和/或清除我使用的程序或驱动程序:

sudo software-properties-gtk

转到“其他软件”禁用除 C​​anonical Partners 之外的所有驱动程序。

在那之后:

sudo apt-get install -f
sudo apt-get update
sudo apt-get upgrade
sudo apt autoremove

这为我解决了问题。但确实使用下一个命令删除并清除了 Steam、Play on Linux 和 Lutris。(您可以将它用于所有其他程序(程序名称后的 -* 将清除其中包含程序名称的所有属性))

sudo apt-get remove --purge (program name)

答案2

关于这个问题的大多数建议的解决方案对我来说都不起作用,但我确实找到了一个来自这个答案做过:

sudo apt-get -o Dpkg::Options::="--force-overwrite" install --fix-broken

相关内容