nvidia-common 和 nvidia-installer-cleanup 之间的冲突文件

nvidia-common 和 nvidia-installer-cleanup 之间的冲突文件

当我尝试添加或删除任何包时,我收到来自 apt-get 的错误消息:

以下软件包具有未满足的依赖关系:
 ubuntu-desktop:依赖:nvidia-common 但是它将不会被安装
E:未满足依赖关系。尝试不使用任何软件包的“apt-get -f install”(或指定解决方案)。

尝试 apt-get -f 安装:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following extra packages will be installed:
  nvidia-common
The following NEW packages will be installed:
  nvidia-common
0 upgraded, 1 newly installed, 0 to remove and 2 not upgraded.
1 not fully installed or removed.
Need to get 0 B/19.0 kB of archives.
After this operation, 155 kB of additional disk space will be used.
Do you want to continue [Y/n]? 
Preconfiguring packages ...
(Reading database ... 430130 files and directories currently installed.)
Unpacking nvidia-common (from .../nvidia-common_1%3a0.2.44.2_amd64.deb) ...
dpkg: error processing /var/cache/apt/archives/nvidia-common_1%3a0.2.44.2_amd64.deb (--unpack):
 trying to overwrite '/usr/lib/nvidia/pre-install', which is also in package nvidia-installer-cleanup 20131102+1~bpo70+1
Errors were encountered while processing:
 /var/cache/apt/archives/nvidia-common_1%3a0.2.44.2_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
Exit 100

显然,两个软件包 nvidia-common 和 nvidia-installer-cleanup 共享同一个文件 pre-install,这会阻止安装 nvidia-common,从而阻止安装任何其他东西。事实是,我使用专有 Radeon 驱动程序,甚至不需要 NVidia。

PS dpkg -l | grep glx的输出:

ii glx-alternative-fglrx 0.4.1~bpo70+1 允许选择 FGLRX 作为 GLX 提供程序
ii glx-alternative-mesa 0.4.1~bpo70+1 允许选择 MESA 作为 GLX 提供商
ii glx-diversions 0.4.1~bpo70+1 准备使用来自 GPU 供应商的加速 GLX 实现
ii libgl1-mesa-glx 8.0.4-0ubuntu0.7 OpenGL API 的免费实现——GLX 运行时
ii libgl1-mesa-glx:i386 8.0.4-0ubuntu0.7 OpenGL API 的免费实现——GLX 运行时
rc libglitz-glx1 0.5.6-1build1 Glitz OpenGL 库 GLX 后端
ii libswt-glx-gtk-3-jni 3.7.2-2 GTK+ GLX JNI 库的标准小部件工具包
ii libxcb-glx0 1.8.1-1ubuntu0.2 XC 绑定,glx 扩展
ii libxcb-glx0:i386 1.8.1-1ubuntu0.2 XC 绑定,glx 扩展

apt-cache rdepends nvidia-common 的输出:

nvidia-通用
反向依赖:
  骑师通用
  nvidia-通用:i386
  Ubuntu 桌面
  骑师通用
  nvidia-通用:i386
  xubuntu 桌面
  ubuntustudio-桌面
  nvclock-qt
  nvclock-gtk
  时钟
  mythbuntu-common
  lubuntu 核心
  Ubuntu 桌面
  kubuntu 桌面
  骑师通用

apt-cache policy nvidia-common nvidia-installer-cleanup 的输出:

nvidia-常见:
  已安装:(无)
  候选人:1:0.2.44.2
  版本表:
     1:0.2.44.2 0
        500 http://us.archive.ubuntu.com/ubuntu/precise-updates/main amd64 软件包
     1:0.2.44 0
        500 http://us.archive.ubuntu.com/ubuntu/ precise/main amd64 软件包
nvidia-安装程序清理:
  安装时间:20131102+1~bpo70+1
  候选人:20131102+1~bpo70+1
  版本表:
 *** 20131102+1~bpo70+1 0
        100 http://http.debian.net/debian/ wheezy-backports/contrib amd64 软件包
        100 /var/lib/dpkg/状态

答案1

你为什么要安装 Debian 软件包?!不要这样做!使用以下命令删除 Debian 存储库:

sudo sed -i '/debian/d' /etc/apt/sources.list{,.d/*}

然后删除该nvidia-installer-cleanup软件包,并确保没有安装其他 Debian 软件包。然后运行sudo apt-get install -f并希望它能解决问题。


您的nvidia-common软件包正在尝试覆盖 的文件,nvidia-installer-cleanup正如您所注意到的。要摆脱这种情况,您必须放弃安装nvidia-common或删除nvidia-installer-cleanup。我将使用后者:

sudo dpkg --purge nvidia-installer-cleanup

然后sudo apt-get install -f再次运行。由于您也没有 NVidia 卡,因此我只需删除 显示的所有 nvidia 包即可dpkg -l | grep nvidia

相关内容