前言:
在Ubuntu中安装新的软件/依赖库时,经常会遇到环境中已经安装了该软件/依赖库的依赖文件的新版,而需要安装的软件/依赖库所需的为旧版依赖文件。
本文为笔者参考了网上的方法,自己编写的博客。
1. 关于Ubuntu软件/依赖库的降级问题:
1.1 安装软件/依赖库时出现的问题:sudo apt-get install libglib2.0-dev 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是 因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件 包尚未被创建或是它们已被从新到(Incoming)目录移出。 下列信息可能会对解决问题有所帮助: 下列软件包有未满足的依赖关系: libglib2.0-dev : 依赖: libglib2.0-0 (= 2.48.0-1ubuntu4) 但是 2.48.2-0ubuntu4.4 正要被安装 依赖: libglib2.0-bin (= 2.48.0-1ubuntu4) 但是 2.48.2-0ubuntu4.4 正要被安装 依赖: zlib1g-dev 但是它将不会被安装 E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。 123456789101112131415 1.2 分析问题:
安装 libglib2.0-dev 需要 2.48.0-1ubuntu4 版本的 libglib2.0-0 和 2.48.0-1ubuntu4 版本的 libglib2.0-bin,但是环境中已经有 2.48.2-0ubuntu4.4 版本的 libglib2.0-0 和 2.48.2-0ubuntu4.4 版本的 libglib2.0-bin,因此导致 libglib2.0-dev 安装失败
1.3 解决方法一(使用aptitude降级):使用 aptitude 来处理软件/依赖库版本。
# 1.3.1 安装aptitude sudo apt-get install aptitude # 1.3.2 通过安装的形式查看无法安装的软件/依赖库的依赖 sudo aptitude install libglib2.0-dev 下列“新”软件包将被安装。 libglib2.0-dev{1234567