|
/var/lib/dpkg/status坏了, 怎么修理?
--------------------------------------------------------------------------------
装stardict时候中止了几次, 然后就发现出错了, apt-get 总是报告这个文件
掉了Version这一行, 我手动给gnome-core加了一个,想不到还有一大堆其他
包没有version, 惨了, apt-get install 装不了东西了, 提示我apt-get -f install,
但是报错,说在/var/lib/dpkg/status某一行找不到Version, 提示apt-get update,
同样出了一堆错,提示我apt-get update, 没用。
呜呜,才爽了几天apt-get就出问题了,不是号称最好的包管理工具么?小小
失望了一把,各位介绍个办法帮我修复一下吧。
到/var/lib/dpkg/下面看了一下,status有一个备份status.old,恢复了照样
出错。
觉得dpkg有两个可以改进的余地:
(1)备份文件时采用filename_1_20050525_123550
后面表示年月日时分秒,第一个数字1表示第几个备份,用意是可以指定
保存多少个备份,比如5个,那么备份就是filename_1_..... 一直到
filename_5_....., 超过5的则覆盖最旧的备份。
(2)savepoint, rollback功能,
比如某一个时候,apt-get savepoint, 装了一堆东西,发现有问题,
于是apt-get rollback, 强制把系统中安装的包恢复到savepoint时的
状态。
(3)install的时候记录日志,比如apt-get install AA
但是AA依赖BB,BB依赖CC,于是都安装上。
写入日志:installing AA
installing BB
installing CC
installed CC
这是突然断掉了(比如掉电,比如用户等不及强制中断了),下一次
apt-get 时候发现这个日志不完整,AA没有安装成功,然后提示
是继续安装AA还是卸载AA.
不知道FreeBSD, Gentoo, Fedora的包管理工具在突然断掉时会不会
让包的状态乱掉。 |
|