解决Ubuntu在安装某个软件时依赖包的版本过高问题

萝らか妹 提交于 2021-01-23 04:43:23

在安装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
--------------------- 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!