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

Posted spring-7988166

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决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
--------------------- 

 

 

以上是关于解决Ubuntu在安装某个软件时依赖包的版本过高问题的主要内容,如果未能解决你的问题,请参考以下文章

在ubuntu中我们使用sudo apt-get install 或者dpkg -i *.deb安装软件时,常常提示“有未能满足的依赖关系“,解决方法

Ubuntu中snap包的安装,删除,更新使用入门教程

解决update-apt-xapi占用资源过高的问题

Linux安装软件时缺少依赖包的简单较完美解决方法!

ubuntu aptget安装软件时如何解决依赖

Ubuntu下无法安装R语言vcd包解决办法