我相信我可能为我的系统安装了错误版本的某些依赖项,因为每次我尝试使用时都会收到错误apt-get
。例如:
sudo apt-get install minicom
导致这些错误:
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
libc-dev-bin : Depends: libc6 (< 2.12) but 2.13-38+deb7u8 is to be installed
libc6 : Depends: libc-bin (= 2.13-38+deb7u8) but 2.11.2-10 is to be installed
Breaks: locales (< 2.13)
libc6-dev : Depends: libc-dev-bin (= 2.13-38+deb7u8) but 2.11.2-10 is to be installed
Breaks: gcc-4.4 (< 4.4.6-4) but 4.4.5-8 is to be installed
locales : Depends: glibc-2.11-1
ntp : Depends: libssl1.0.0 (>= 1.0.0) but it is not installable
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
所以我尝试用 来修复它sudo apt-get -f install
。但我得到了几乎相同的错误:
The following packages have unmet dependencies:
libc-dev-bin : Depends: libc6 (< 2.12) but 2.13-38+deb7u8 is installed
libc6 : Depends: libc-bin (= 2.13-38+deb7u8) but 2.11.2-10 is installed
Breaks: locales (< 2.13)
libc6-dev : Depends: libc-dev-bin (= 2.13-38+deb7u8) but 2.11.2-10 is installed
Breaks: gcc-4.4 (< 4.4.6-4) but 4.4.5-8 is installed
locales : Depends: glibc-2.11-1
ntp : Depends: libssl1.0.0 (>= 1.0.0) but it is not installable
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
E: Unable to correct dependencies
但这次,我在底部发现了两个额外的错误。我真的不知道该如何解决这个问题。
以下是我迄今为止尝试过的:
首先,相关问题的链接:
修复 apt-get -f install 失败时的依赖关系
E:错误,pkgProblemResolver::Resolve 生成中断,这可能是由被保留的软件包引起的
apt-get 因依赖问题而停止工作 - libegl1-mesa
尽管我尝试了所有问题和答案,但这些问题和答案都没有帮助我。列表中的最后一个链接似乎最有希望,因为它有几乎相同的错误消息,但它也没有解决我的问题。
以下是我尝试过的简要总结:
- 使用“sudo apt-get remove [package]”删除文件。这会产生与我尝试安装任何内容时完全相同的输出。
- 查看
/var/log/apt/term.log
文件以查找要删除的损坏内容。这并没有真正帮助,因为我还是无法删除任何东西。 sudo apt-get clean
然后sudo apt-get update
- clean 什么都不返回,更新顺利命中我的所有源。但它并没有修复任何问题。sudo apt-get dist-upgrade
- 返回与安装类似的问题apt-get install --reinstall [package]
在看起来损坏的东西上 - 返回与安装类似的问题dpkg --remove [package]
- 我已经对几个包这样做了,并且有效,但由于我不太确定问题出在哪里,这可能会造成更大的破坏。
答案1
我遇到过类似的问题,我认为大多数情况下你唯一要做的就是
sudo dpkg --configure -a
进而
sudo apt-get install -f
如果这没有帮助,你应该编辑文件/var/lib/dpkg/status
并删除损坏的软件包。然后重复前两个命令就可以了。