前言:
在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: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
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{