当我尝试添加或删除任何包时,我收到来自 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
。