破坏apt,由于未满足的依赖性而无法更新libglvnd(Nvidia)

我最近没有安装任何新软件包或添加任何PPA,只是运行apt更新。

运行’apt upgrade’之后

Reading package lists... Done Building dependency tree Reading state information... Done You might want to run 'apt --fix-broken install' to correct these. The following packages have unmet dependencies: libglvnd-dev : Depends: libglvnd0 (= 1.0.0-2ubuntu2.1) but 1.0.0-2ubuntu2.2 is installed Depends: libglvnd-core-dev (= 1.0.0-2ubuntu2.1) but 1.0.0-2ubuntu2.2 is installed Depends: libegl1 (= 1.0.0-2ubuntu2.1) but 1.0.0-2ubuntu2.2 is installed Depends: libgles2 (= 1.0.0-2ubuntu2.1) but 1.0.0-2ubuntu2.2 is installed Depends: libgl1 (= 1.0.0-2ubuntu2.1) but 1.0.0-2ubuntu2.2 is installed Depends: libglx0 (= 1.0.0-2ubuntu2.1) but 1.0.0-2ubuntu2.2 is installed Depends: libopengl0 (= 1.0.0-2ubuntu2.1) but 1.0.0-2ubuntu2.2 is installed E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution). 

运行’apt –fix-broken install’或’apt-get install -f’之后

 Reading package lists... Done Building dependency tree Reading state information... Done Correcting dependencies... Done The following additional packages will be installed: libgles1 libglvnd-dev The following NEW packages will be installed: libgles1 The following packages will be upgraded: libglvnd-dev 1 upgraded, 1 newly installed, 0 to remove and 1 not upgraded. Need to get 0 B/14.6 kB of archives. After this operation, 66.6 kB of additional disk space will be used. Do you want to continue? [Y/n] y (Reading database ... 686678 files and directories currently installed.) Preparing to unpack .../libgles1_1.0.0-2ubuntu2.2_amd64.deb ... Unpacking libgles1:amd64 (1.0.0-2ubuntu2.2) ... dpkg: error processing archive /var/cache/apt/archives/libgles1_1.0.0-2ubuntu2.2_amd64.deb (--unpack): trying to overwrite '/usr/lib/x86_64-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_amd64.deb ... Unpacking libglvnd-dev:amd64 (1.0.0-2ubuntu2.2) over (1.0.0-2ubuntu2.1) ... dpkg: error processing archive /var/cache/apt/archives/libglvnd-dev_1.0.0-2ubuntu2.2_amd64.deb (--unpack): trying to overwrite '/usr/lib/x86_64-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_amd64.deb /var/cache/apt/archives/libglvnd-dev_1.0.0-2ubuntu2.2_amd64.deb E: Sub-process /usr/bin/dpkg returned an error code (1) 

我试图暂时切换回nouoveau,但由于被搞砸了我不能。 控制文件要求所有依赖项都是* -2.2但是当我尝试升级它时要求* -2.1。

更新我通过运行修复它

 sudo dpkg -i --force-overwrite /var/cache/apt/archives/libglvnd-dev_1.0.0-2ubuntu2.2_amd64.deb sudo dpkg -i --force-overwrite /var/cache/apt/archives/libgles1_1.0.0-2ubuntu2.2_amd64.deb sudo apt -f install 

@pibacco解决方案对我有用:

更新我通过运行修复它

sudo dpkg -i –force-overwrite /var/cache/apt/archives/libglvnd-dev_1.0.0-2ubuntu2.2_amd64.deb sudo dpkg -i –force-overwrite /var/cache/apt/archives/libgles1_1.0.0 -2ubuntu2.2_amd64.deb sudo apt -f install

apt update apt升级

您需要完全删除包

 sudo dpkg --purge --force-depends "libgles1" sudo dpkg --purge --force-depends "libglvnd-dev" sudo apt-get autoremove sudo apt-get clean sudo apt-get install -f 

您还可以看到无法解决未满足的依赖关系,并且sudo apt-get -f安装失败