1. 程式人生 > >解決Ubuntu在安裝某個軟體時依賴包的版本過高問題

解決Ubuntu在安裝某個軟體時依賴包的版本過高問題

在安裝mysql時:

  1. sudo apt-get install mysql-server     2. apt-get isntall mysql-client  

  3.  sudo apt-get install libmysqlclient-dev

第三步時:某個依賴包安裝不上

出現:

zlib1g-dev : Depends: zlib1g (= 1:1.2.8.dfsg-2ubuntu4) but 1:1.2.8.dfsg-2ubuntu4.1 is to be installed
E: Unable to correct problems, you have held broken packages.

這個問題查詢了好久,最終在這篇部落格中找到了解決方法  https://blog.csdn.net/makenothing/article/details/23686141

具體做法是 安裝 sudo apt-get install aptitude

解釋一下 aptitude 這個詞幾乎就等價與apt-get,只不過與 apt-get 不同的是,aptitude在處理依賴問題上更佳一些。舉例來說,aptitude在刪除一個包時,會同時刪除本身所依賴的包。這樣,系統中不會殘留無用的包,整個系統更為乾淨。並且如果遇到上述情況:

使用 sudo aptitude install 軟體名,

安裝過程中出現上述問題,會給出解決方案,我就是選擇了將某個高版本的依賴包降到低版本後,完成安裝的。

 

附錄:

 apt-cache search package 搜尋包
  apt-cache show package 獲取包的相關資訊,如說明、大小、版本等
  sudo apt-get install package 安裝包
  sudo apt-get install package - - reinstall 重新安裝包
  sudo apt-get -f install 修復安裝"-f = ——fix-missing"
  sudo apt-get remove package 刪除包
  sudo apt-get remove package - - purge 刪除包,包括刪除配置檔案等
  sudo apt-get update 更新源
  sudo apt-get upgrade 更新已安裝的包
  sudo apt-get dist-upgrade 升級系統
  sudo apt-get dselect-upgrade 使用 dselect 升級
  apt-cache depends package 瞭解使用依賴
  apt-cache rdepends package 是檢視該包被哪些包依賴
  sudo apt-get build-dep package 安裝相關的編譯環境
  apt-get source package 下載該包的原始碼
  sudo apt-get clean && sudo apt-get autoclean 清理無用的包
  sudo apt-get check 檢查是否有損壞的依賴
附錄來源:
原文:https://blog.csdn.net/makenothing/article/details/23686141
---------------------