tl;dr:每个apt-get
命令都因此而失败:
Depends: libgl1-mesa-dri (= 10.5~git1411191810.9460cd~gd~u) but 10.4~git1411171930.920f87~gd~u is to be installed
我无法删除或安装任何东西。我应该怎么办?
很长的故事:
我正在使用 Ubuntu 14.10,昨天我尝试按照本手册操作:https ://github.com/MobileChromeApps/mobile-chrome-apps/blob/master/docs/Installation.md
最后搞砸了一些东西。我在任务栏上的时钟旁边有一个停止标志,上面写着“请运行包管理器”和“包具有未满足的依赖关系”
sudo apt-get upgrade
停止工作(update
但似乎正在工作)。
我试图删除包但sudo apt-get remove
停止工作,这是我得到的错误:
Reading package lists... Done Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
libegl1-mesa : Depends: libgl1-mesa-dri (=10.5~git1411191810.9460cd~gd~u) but 10.4~git1411171930.920f87~gd~u is to be installed
libgbm1 : Depends: libgl1-mesa-dri (= 10.5~git1411191810.9460cd~gd~u) but 10.4~git1411171930.920f87~gd~u is to be installed
libgl1-mesa-glx : Depends: libgl1-mesa-dri (= 10.5~git1411191810.9460cd~gd~u) but 10.4~git1411171930.920f87~gd~u is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
运行sudo apt-get insall -f
给出了这个:
libegl1-mesa : Depends: libgl1-mesa-dri (= 10.5~git1411191810.9460cd~gd~u) but 10.4~git1411171930.920f87~gd~u is installed
libgbm1 : Depends: libgl1-mesa-dri (= 10.5~git1411191810.9460cd~gd~u) but 10.4~git1411171930.920f87~gd~u is installed
libgl1-mesa-glx : Depends: libgl1-mesa-dri (= 10.5~git1411191810.9460cd~gd~u) but 10.4~git1411171930.920f87~gd~u is installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
E: Unable to correct dependencies
使用dpkg
也不起作用:
$ sudo dpkg -r libegl1-mesa
dpkg: dependency problems prevent removal of libegl1-mesa:amd64:
libwayland-egl1-mesa:amd64 depends on libegl1-mesa (= 10.5~git1411191810.9460cd~gd~u).
libgstreamer-plugins-bad1.0-0:amd64 depends on libegl1-mesa (>= 7.8.1) | libegl1-x11; however:
Package libegl1-mesa:amd64 is to be removed.
Package libegl1-x11 is not installed.
Package libegl1-mesa:amd64 which provides libegl1-x11 is to be removed.
libcogl20:amd64 depends on libegl1-mesa (>= 7.8.1) | libegl1-x11; however:
Package libegl1-mesa:amd64 is to be removed.
Package libegl1-x11 is not installed.
Package libegl1-mesa:amd64 which provides libegl1-x11 is to be removed.
libegl1-mesa-drivers:amd64 depends on libegl1-mesa (=> 10.5~git1411191810.9460cd~gd~u).
libqt5gui5:amd64 depends on libegl1-mesa (>= 7.8.1) | libegl1-x11; however:
Package libegl1-mesa:amd64 is to be removed.
Package libegl1-x11 is not installed.
Package libegl1-mesa:amd64 which provides libegl1-x11 is to be removed.
xserver-xorg-core depends on libegl1-mesa | libegl1; ho
dpkg: error processing package libegl1-mesa:amd64 (--remove): dependency problems - not removing Errors were encountered while processing:
libegl1-mesa:amd64
更新:
我以某种方式解决了它,我不确定如何解决,所以我将描述我所做的一切:
输入software-properties-gtk
终端并选中 ubuntu 软件选项卡上的所有复选框,然后转到其他软件,取消选中并删除所有显示“在 utopic 上禁用”的复选框,选中所有对我有意义的(chrome dropbox 等),然后做了sudo apt-get install -f
,一切似乎再次工作。
但是 - 重新启动后,我看到黑屏和闪烁的光标。也许是图形驱动程序问题?
运行
sudo apt-get install --reinstall ubuntu-dekstop
修复了一切。我有一个类似的问题。libegl1-mesa 软件包的多个区域丢失了。这阻止了 apt-get update 的工作,我无法安装新的软件包……是一场噩梦。我尝试了上面的所有方法,以及在恢复模式下启动并运行 dpkg 选项来修复损坏的包。没有任何效果。
我最终通过在终端中对上述命令稍作修改来纠正了这个问题:
其次是:
所有这些研究,都是为了这样一个痛苦的简单解决方案。上帝,我爱 Ubuntu。希望这可以帮助。
如错误所示,尝试执行
apt-get -f install
以修复未满足的依赖项。基本上,你删除了太多。 停止删除并重新开始添加,否则您将得到一个无法运行的操作系统! :-(
目前 Unity 甚至不想打开,因为它缺少重要文件,因此黑色光标...
当您看到黑色光标时,按 [ctrl][alt][f1] 并以管理员用户身份登录。在那里你将有一个终端(没有 GUI,已经坏了)。
尝试:
这是一个基于字符的智能包管理器,可让您做出更明智的决定。如果仍然失败,您最好恢复最新的系统备份,或者如果您没有备份,如果您有单独的“主”分区,请重新安装 Ubuntu。如果您只有一个巨大的驱动器而没有单独的“家”,请在不格式化驱动器的情况下重新安装,否则您将失去一切!
要开始使用 aptitude,只需执行以下操作: