笔者最近意外的发现 笔者的我的网站 http://tiankonguse.com/ 的不少文章被其它网站转载,可是转载时未声明文章来源或参考自 http://tiankonguse.com/ 网站,所以,笔者添加此条声明。php
郑重声明:这篇记录《安装软件时依赖冲突的万能解决方案》转载自 http://tiankonguse.com/ 的这条记录:http://tiankonguse.com/record/record.php?id=653html
好吧,多是个标题党了.linux
不过若是你这个方法还不能解决依赖冲突,那就我目前就不知道有什么办法了.ubuntu
不过通常状况下,使用这个方法均可以修复问题的.vim
若是你是刚遇到依赖冲突问题,能够先参考这里基本的解决方案.网站
源的问题:下列的软件包有不能知足的依赖关系
各类解决方法:软件包没有被彻底安装或卸载问题spa
先说说背景吧.code
使用基础解决方案不能解决的,更严重的是,想重装那些软件,却卸载不了,提示依赖冲突.htm
这个时候我都想重装系统了,但是我配置了这个多东西,安装了这个多软件等缘由,不到最后一步我不想选择重装系统这个方法,毕竟重装系统不必定能解决冲突问题.ip
不过,我最终仍是找到了解决方案.
这就分享出来,帮你们多一个选择的解决方案,固然不到万不得已请不要选择这个方法.
如今咱们来看看这个依赖的冲突问题吧.
安装软件时提示的是什么错误信息呢?
安装的软件依赖的软件版本太低.
首先系统怎么知道依赖冲突呢?
应该是每一个软件都写清楚了本身依赖哪些软件以及这些软件的最低版本.
那咱们能不能手动修改这些依赖的软件的版本呢?
若是知道这些信息在哪里储存,那就能够修改了.
那这些信息在哪里储存呢?
貌似在 /var/lib/dpkg/status 这个文件里面.
好比个人 vim-common 的信息
Package: vim-common Status: install ok installed Priority: important Section: editors Installed-Size: 296 Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Architecture: i386 Source: vim Version: 2:7.3.547-6ubuntu3~blueyed1~precise Depends: libc6 (>= 2.3.4) Recommends: vim | vim-gnome | vim-gtk | vim-athena | vim-nox | vim-tiny Conffiles: /etc/vim/vimrc 682aa2a07693cc27756eee9751db3903 Description: Vi IMproved - Common files Vim is an almost compatible version of the UNIX editor Vi. . Many new features have been added: multi level undo, syntax highlighting, command line history, on-line help, filename completion, block operations, folding, Unicode support, etc. . This package contains files shared by all non GUI-enabled vim variants (vim and vim-tiny currently) available in Debian. Examples of such shared files are: manpages, common executables like xxd, and configuration files. Homepage: http://www.vim.org/ Original-Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
能够看到里面的两个对咱们来讲重要的数据
Version: 2:7.3.547-6ubuntu3~blueyed1~precise Depends: libc6 (>= 2.3.4)
假设咱们的 libc6 的版本是 2.3.2 的话,安装 vim-common 的话机会提示依赖冲突,说须要 libc6 的版本至少是 2.3.4.
此时咱们能够作修改了最低依赖版本会怎么样呢?
好比
Version: 2:7.3.547-6ubuntu3~blueyed1~precise Depends: libc6 (>= 2.3.2)
这是再次修复居然成功了,也能够卸载了.
好吧,解决方案就是这个:把依赖的软件的版本修改成目前安装的版本便可.