Couldn't configure pre-depend libc6 for findutils,

采取从源升级的方式,不过却遇到了依赖性死循环:

$ sudo apt-get install
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:
  libc6: Depends: findutils (>= 4.4.0-2ubuntu2) but 4.2.28-2 is installed
  libc6-dev: Depends: libc6 (= 2.5-0ubuntu14) but 2.8~20080505-0ubuntu7 is installed
  libc6-i686: PreDepends: libc6 (= 2.5-0ubuntu14) but 2.8~20080505-0ubuntu7 is installed
E: Unmet dependencies. Try using -f.

使用-f参数也无济于事:

$ sudo apt-get install -f
Reading package lists… Done
Building dependency tree      
Reading state information… Done
Correcting dependencies… Done
The following extra packages will be installed:
  findutils libc6-dev libc6-i686
Suggested packages:
  mlocate locate slocate glibc-doc manpages-dev
The following packages will be upgraded:
  findutils libc6-dev libc6-i686
3 upgraded, 0 newly installed, 0 to remove and 362 not upgraded.
5 not fully installed or removed.
Need to get 0B/5077kB of archives.
After unpacking 1561kB of additional disk space will be used.
Do you want to continue [Y/n]? y
E: Couldn't configure pre-depend libc6 for findutils, probably a dependency cycle.

但是我们可以从上面内容分析到,libc6依赖findutils 4.4以上,而升级findutils又依赖libc6,所以陷入死循环,可以尝试这样解决,前提是相关的deb包都已经用apt下载到了本地cache里:

$ cd /var/cache/apt/archives
$ sudo dpkg –force-depends –install libc6_2.8~20080505-0ubuntu7_i386.deb findutils_4.4.0-2ubuntu3_i386.deb

强制直接安装这两个冤家包,然后是libc6相关的这两个重要包:

sudo aptitude install libc6-i686 libc6-dev

然后,再进行其它upgrade就都正常了

点赞 (0)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

Captcha Code