ubuntu 软件包降级
sudo aptitude install libssl-dev
1. 是否接受该解决方案?
[Y/n/?] n
2. 是否接受该解决方案?
[Y/n/?] y
3. 您要继续吗?
[Y/n/?] y
sudo aptitude install libcairo2=1.4.10-1ubuntu4 # 强制降级
sudo aptitude forbid-version libcairo2=1.4.10-1ubuntu4.1 # 封掉出错的版本
sudo aptitude markauto libcairo2 #恢复auto属性
aptitude 的另外一个优点是会自动记录那些包是"自动安装"(即因依赖关系而安装的), 如果依赖"自动安装"包的包都没被安装, 该"自动安装"包(此时已无用)就会自动删除.
使用这两个命令可以控制包的"自动安装"属性
aptitude markauto pack-foo #标记成"自动安装"
aptitude unmarkauto pack-foo #标记成"手动安装"
删除软件时使用 markauto 代替 remove, 就可以避免误删重要的包了.
aptitude 还提供了更灵活的控制软件包版本的方式
hold - 将软件包置于保持状态
unhold - 取消对一个软件包的保持命令
forbid-version - 禁止 aptitude 升级到某一特定版本的软件包。
aptitude reinstall 重新安装软件包, 相当于 apt-get --reinstall install
aptitude purge 彻底删除软件包, 相当于 apt-get --purge remove
aptitude purge `dpkg -l|grep '^rc'|awk '{print $2}'`
aptitude 还集合了多个 apt 工具的功能:
search - 按名称 和/或 表达式搜索软件包
show - 显示一个软件包的详细信息
download - 下载软件包的 .deb 文件
search 操作有点特别:
aptitude search "foo bar" # 关键词 foo 和 bar 都要出现
aptitude search foo bar # 相当于"或"
不过 aptitude 有个小缺点, 默认会将"推荐"的包当成"依赖"的包处理. 这样设置一下就可以解决问题
在自己和root的家目录下的 .aptitude/config 文件加一句:
aptitude::Recommends-Important "false";
来自:http://www.cnblogs.com/nniixl/archive/2008/05/22/1205202.html