解決Ubuntu在安裝某個軟體時依賴包的版本過高問題
在安裝mysql時:
1. sudo apt-get install mysql-server 2. apt-get isntall mysql-client3. 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
---------------------