筆者最近意外的發現 筆者的我的網站 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)
這是再次修復居然成功了,也能夠卸載了.
好吧,解決方案就是這個:把依賴的軟件的版本修改成目前安裝的版本便可.