LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1571|回复: 6

文件/var/lib/dpkg/status有问题,怎么办?

[复制链接]
发表于 2005-8-10 02:31:18 | 显示全部楼层 |阅读模式
先看下面3条命令的结果:
--------------------------------------------------------------------
# apt-get update
命中 ftp://mirrors.geekbone.org testing/main Packages
命中 ftp://mirrors.geekbone.org testing/main Release
命中 ftp://mirrors.geekbone.org testing/main Sources
命中 ftp://mirrors.geekbone.org testing/main Release
命中 ftp://debian.cn99.com testing/main Packages
命中 ftp://debian.cn99.com testing/main Release
命中 ftp://debian.cn99.com testing/main Sources
命中 ftp://debian.cn99.com testing/main Release
命中 http://security.debian.org testing/updates/main Packages
命中 http://security.debian.org testing/updates/main Release
正在读取软件包列表... 有错误!
E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/dpkg/status
E: 无法解析或打开软件包的列表或是状态文件。
----------------------------------------------------------------
# dpkg-reconfigure locales
dpkg-query: 解析错误,在“/var/lib/dpkg/status”文件的第“1”行附近:
字段名“utnant”后必须紧跟冒号
/usr/sbin/dpkg-reconfigure: locales 未安装
----------------------------------------------------------------
# apt-cache search zhcon
E: Encountered a section with no Package: header
E: Problem with MergeList /var/lib/dpkg/status
----------------------------------------------------------------
好像是文件/var/lib/dpkg/status有问题,怎么办?
发表于 2005-8-10 10:05:29 | 显示全部楼层
错误信息已经指明了:dpkg-query: 解析错误,在“/var/lib/dpkg/status”文件的第“1”行附近:
字段名“utnant”后必须紧跟冒号。看看你的文件格式是否有误。

这是我的/var/lib/dpkg/status 文件的一部分

Package: libgtkspell0
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 72
Maintainer: Ari Pollak <ari@debian.org> Architecture: i386
Source: gtkspell
Version: 2.0.5-3
Depends: libaspell15 (>= 0.50.3-1), libatk1.0-0 (>= 1.4.1), libc6 (>= 2.3.2.ds1-4), libglib2.0-0 (>= 2.2.3), libgtk2.0-0 (>= 2.2.1), libpango1.0-0 (>= 1.2.1)
Description: a spell-checking addon for GTK's TextView widget
GtkSpell provides MSWord/MacOSX-style highlighting of misspelled words in a
GtkTextView widget.  Right-clicking a misspelled word pops up a menu of
suggested replacements.
回复 支持 反对

使用道具 举报

发表于 2005-8-10 10:07:32 | 显示全部楼层
错误信息已经指明了:dpkg-query: 解析错误,在“/var/lib/dpkg/status”文件的第“1”行附近:
字段名“utnant”后必须紧跟冒号。看看你的对应包(比如locales)文件格式是否有误。

这是我的/var/lib/dpkg/status 文件的一部分

Package: libgtkspell0
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 72
Maintainer: Ari Pollak <ari@debian.org> Architecture: i386
Source: gtkspell
Version: 2.0.5-3
Depends: libaspell15 (>= 0.50.3-1), libatk1.0-0 (>= 1.4.1), libc6 (>= 2.3.2.ds1-4), libglib2.0-0 (>= 2.2.3), libgtk2.0-0 (>= 2.2.1), libpango1.0-0 (>= 1.2.1)
Description: a spell-checking addon for GTK's TextView widget
GtkSpell provides MSWord/MacOSX-style highlighting of misspelled words in a
GtkTextView widget.  Right-clicking a misspelled word pops up a menu of
suggested replacements.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-10 10:41:01 | 显示全部楼层
字段名“utnant”后必须紧跟冒号后:
-------------------------------------------------------------
# dpkg-reconfigure locales
dpkg-query: 解析错误,在“/var/lib/dpkg/status”文件的第“9”行附近:
找不到 package name
/usr/sbin/dpkg-reconfigure: locales 未安装
-------------------------------------------------------------
第9行为空,第10行为:
Package: perl
回复 支持 反对

使用道具 举报

发表于 2005-8-10 13:19:35 | 显示全部楼层
根据下面的内容加一个不就行了吗?我估计就是locales,那你就写个Package: locales (在此之前你先查找一下有没有locales 如果没有就加,或者 随便写一个也行,再apt-get update ),如果不行请将附近的几行贴出来(1-10行)
回复 支持 反对

使用道具 举报

发表于 2005-8-10 13:24:32 | 显示全部楼层
根据下面的内容加一个不就行了吗?我估计就是locales,那你就写个Package: locales (在此之前你先查找一下有没有locales 如果没有就加,或者 随便写一个abcdef也行,再apt-get update ),如果不行请将附近的几行贴出来(1-10行)

注:package name 是具体的软件包名而不是字符串“package name”
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-10 16:54:29 | 显示全部楼层
该文件中package有很多,分别都有对应的包名称,无法判断少了什么?
我用一个以前备份的文件替换,结果提示另外一个文件有问题,但那个文件里面是乱码,看不懂。
我已经重装过了。
不过实在有点想不通的是,怎么这个文件会无缘无故损坏,出问题这段时间只能怀疑红旗4.1(gb18030)或FedoraCore4(utf-8)才读过这个分区,但不至于影响到这个文件吧。Debian是装的多语言支持。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表