这几天因为在安装mysql-server-5.1的时候,导致ubuntu的aptitude有问题了,问题如下:
john@john-desktop:~$ sudo aptitude reinstall mysql-server-5.1
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
正在读取扩展状态文件
正在初始化软件包状态... 完成
下列软件包将被“重新安装”:
mysql-server-5.1
0 个软件包被升级,新安装 0 个, 1 个被重新安装, 0 个将被删除, 同时 0 个将不升级。
需要获取 0B 的存档。 解包后将要使用 0B。
E: 我无法找到一个对应 mysql-server-5.1 软件包的文件。在这种情况下可能需要您手动修正这个软件包。(缘于架构缺失)
正在编辑扩展状态信息... 完成
E: 我无法找到一个对应 mysql-server-5.1 软件包的文件。在这种情况下可能需要您手动修正这个软件包。(缘于架构缺失)
E: 内部错误:无法生成下载软件包列表
通过aptitude remove mysql-server-5.1, reinstall, upgrade,都不能完全的对该包进行卸载或重装,而且导致其它软件包也不能安装。最后,用sudo aptitude dist-upgrade命令,解决了该问题。
ubuntu的软件包管理wiki: %E8%BD%AF%E4%BB%B6%E5%8C%85%E7%AE%A1%E7%90%86&variant=zh-hans
下面是aptitude upgrade和aptitude dist-upgrade的区别的描述:
apt-get upgrade 和 apt-get dist-upgrade 本质上是没有什么不同的。
只不过,dist-upgrade 会识别出当依赖关系改变的情形并作出处理,而upgrade对此情形不处理。
例如软件包 a 原先依赖 b c d,但是在源里面可能已经升级了,现在是 a 依赖 b c e。这种情况下,dist-upgrade 会删除 d 安装 e,并把 a 软件包升级,而 upgrade 会认为依赖关系改变而拒绝升级 a 软件包。
阅读(2510) | 评论(0) | 转发(0) |