[7.04]dpkg报废,没有找到解决方法,已准备重装,原因已列出,供各位参考(已不完美解决)

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
头像
Lejcey
帖子: 105
注册时间: 2005-08-18 22:24
来自: 广东省中山市

#16

帖子 Lejcey » 2007-05-20 22:11

请上传一个/var/lib/dpkg/available给我行吗?
只有当一个人全面了解自己后,他才会知道自己需要的是什么。
同理,只有当一个人全面了解linux以后,他才会知道自己需要的linux软件是什么。
头像
Lejcey
帖子: 105
注册时间: 2005-08-18 22:24
来自: 广东省中山市

#17

帖子 Lejcey » 2007-05-20 22:30

看了一下dpkg的man文档:

代码: 全选

       /var/lib/dpkg/available
       List of available packages.
原来这个文件是列出可用的包。怪不得在安装盘的/pool/main/d/dpkg/dpkg_1.13.24ubuntu6_i386.deb中找不到这个文件,看样子是不得不重装了。
上次由 Lejcey 在 2007-05-20 22:40,总共编辑 2 次。
只有当一个人全面了解自己后,他才会知道自己需要的是什么。
同理,只有当一个人全面了解linux以后,他才会知道自己需要的linux软件是什么。
头像
Lejcey
帖子: 105
注册时间: 2005-08-18 22:24
来自: 广东省中山市

#18

帖子 Lejcey » 2007-05-20 22:37

查看这个文件,原本应该是可用包,但是却提示可能是个二进制文件。

代码: 全选

$less /var/lib/dpkg/available
"/var/lib/dpkg/available" may be a binary file.  See it anyway?
查看后发现里面全是

代码: 全选

^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^
而available-old也是这样,恐怕被不知名的软件所破坏,导致不能安装任何软件,目前恐怕已无可能修复,对于可用包,恐怕每个人都不同,所以我想也许无法直接拿别人的available来用,这个问题到此为止吧,明天重装系统了。
只有当一个人全面了解自己后,他才会知道自己需要的是什么。
同理,只有当一个人全面了解linux以后,他才会知道自己需要的linux软件是什么。
头像
Lejcey
帖子: 105
注册时间: 2005-08-18 22:24
来自: 广东省中山市

#19

帖子 Lejcey » 2007-05-20 22:53

这个文件我自己是不可能修改的,所以我认为,linux或许不会有病毒,但是linux可能会有恶意代码,这些恶意代码恐怕不能称作病毒,但是仍然能起到破坏系统的作用,连我自己也被shell代码搞死机过,幸好运行的不是修改mbr的那个,这些恶意代码可能会夹杂在某些第三方包中,大家在安装的时候一定要小心谨慎,尽量选用官方的包,望各位,尤其是像我这样的菜鸟,慎之,慎之~
只有当一个人全面了解自己后,他才会知道自己需要的是什么。
同理,只有当一个人全面了解linux以后,他才会知道自己需要的linux软件是什么。
头像
huangjiahua
帖子: 3294
注册时间: 2005-03-30 0:27
联系:

#20

帖子 huangjiahua » 2007-05-20 23:05

试试在备份后执行

sudo cp /var/lib/dpkg/status /var/lib/dpkg/available
sudo apt-get update


这多是因为你的 apt 之类被异常杀掉
跃过无数的时间断层,只为了在
头像
Lejcey
帖子: 105
注册时间: 2005-08-18 22:24
来自: 广东省中山市

#21

帖子 Lejcey » 2007-05-21 0:02

唉…………都说了没用的,status是记录包的安装状态的。

直接复制的结果:

代码: 全选

ll@Lejcey-Linux:~$ sudo cp /var/lib/dpkg/status /var/lib/dpkg/available 
Password:
ll@Lejcey-Linux:~$ sudo apt-get update
获取:1 http://ubuntu.cn99.com feisty Release.gpg [191B]
忽略 http://ubuntu.cn99.com feisty/main Translation-zh_CN
忽略 http://ubuntu.cn99.com feisty/restricted Translation-zh_CN
命中 http://ubuntu.cn99.com feisty/universe Translation-zh_CN
命中 http://ubuntu.cn99.com feisty/multiverse Translation-zh_CN
获取:2 http://ubuntu.cn99.com feisty-security Release.gpg [191B]
忽略 http://ubuntu.cn99.com feisty-security/main Translation-zh_CN
忽略 http://ubuntu.cn99.com feisty-security/restricted Translation-zh_CN
忽略 http://ubuntu.cn99.com feisty-security/universe Translation-zh_CN
忽略 http://ubuntu.cn99.com feisty-security/multiverse Translation-zh_CN
获取:3 http://ubuntu.cn99.com feisty-updates Release.gpg [191B]
忽略 http://ubuntu.cn99.com feisty-updates/main Translation-zh_CN
忽略 http://ubuntu.cn99.com feisty-updates/restricted Translation-zh_CN
忽略 http://ubuntu.cn99.com feisty-updates/universe Translation-zh_CN
忽略 http://ubuntu.cn99.com feisty-updates/multiverse Translation-zh_CN
获取:4 http://ubuntu.cn99.com feisty-proposed Release.gpg [191B]
忽略 http://ubuntu.cn99.com feisty-proposed/main Translation-zh_CN
忽略 http://ubuntu.cn99.com feisty-proposed/restricted Translation-zh_CN
忽略 http://ubuntu.cn99.com feisty-proposed/universe Translation-zh_CN
忽略 http://ubuntu.cn99.com feisty-proposed/multiverse Translation-zh_CN
获取:5 http://ubuntu.cn99.com feisty-backports Release.gpg [191B]
忽略 http://ubuntu.cn99.com feisty-backports/main Translation-zh_CN
忽略 http://ubuntu.cn99.com feisty-backports/restricted Translation-zh_CN
忽略 http://ubuntu.cn99.com feisty-backports/universe Translation-zh_CN
忽略 http://ubuntu.cn99.com feisty-backports/multiverse Translation-zh_CN
忽略 http://ubuntu.cn99.com feisty Release.gpg
忽略 http://ubuntu.cn99.com feisty/main Translation-zh_CN
忽略 http://ubuntu.cn99.com feisty/restricted Translation-zh_CN
忽略 http://ubuntu.cn99.com feisty/universe Translation-zh_CN
忽略 http://ubuntu.cn99.com feisty/multiverse Translation-zh_CN
命中 http://ubuntu.cn99.com feisty Release
命中 http://ubuntu.cn99.com feisty-security Release
命中 http://ubuntu.cn99.com feisty-updates Release
命中 http://ubuntu.cn99.com feisty-proposed Release
命中 http://ubuntu.cn99.com feisty-backports Release
忽略 http://ubuntu.cn99.com feisty Release   
忽略 http://ubuntu.cn99.com feisty/main Packages
忽略 http://ubuntu.cn99.com feisty/restricted Packages
忽略 http://ubuntu.cn99.com feisty/universe Packages
忽略 http://ubuntu.cn99.com feisty/multiverse Packages
命中 http://ubuntu.cn99.com feisty/main Packages
命中 http://ubuntu.cn99.com feisty/restricted Packages
命中 http://ubuntu.cn99.com feisty/universe Packages
命中 http://ubuntu.cn99.com feisty/multiverse Packages
命中 http://ubuntu.cn99.com feisty/main Sources
命中 http://ubuntu.cn99.com feisty/restricted Sources
命中 http://ubuntu.cn99.com feisty/universe Sources
命中 http://ubuntu.cn99.com feisty/multiverse Sources
命中 http://ubuntu.cn99.com feisty/main Packages
命中 http://ubuntu.cn99.com feisty-security/main Packages
命中 http://ubuntu.cn99.com feisty-security/restricted Packages
命中 http://ubuntu.cn99.com feisty-security/universe Packages
命中 http://ubuntu.cn99.com feisty-security/multiverse Packages
命中 http://ubuntu.cn99.com feisty-security/main Sources
命中 http://ubuntu.cn99.com feisty-security/restricted Sources
命中 http://ubuntu.cn99.com feisty-security/universe Sources
命中 http://ubuntu.cn99.com feisty-security/multiverse Sources
命中 http://ubuntu.cn99.com feisty-updates/main Packages
命中 http://ubuntu.cn99.com feisty-updates/restricted Packages
命中 http://ubuntu.cn99.com feisty-updates/universe Packages
命中 http://ubuntu.cn99.com feisty-updates/multiverse Packages
命中 http://ubuntu.cn99.com feisty-updates/main Sources
命中 http://ubuntu.cn99.com feisty-updates/restricted Sources
命中 http://ubuntu.cn99.com feisty-updates/universe Sources
命中 http://ubuntu.cn99.com feisty-updates/multiverse Sources
命中 http://ubuntu.cn99.com feisty-proposed/main Packages
命中 http://ubuntu.cn99.com feisty-proposed/restricted Packages
命中 http://ubuntu.cn99.com feisty-proposed/universe Packages
命中 http://ubuntu.cn99.com feisty-proposed/multiverse Packages
命中 http://ubuntu.cn99.com feisty-proposed/main Sources
命中 http://ubuntu.cn99.com feisty-proposed/restricted Sources
命中 http://ubuntu.cn99.com feisty-proposed/universe Sources
命中 http://ubuntu.cn99.com feisty-proposed/multiverse Sources
命中 http://ubuntu.cn99.com feisty/restricted Packages
命中 http://ubuntu.cn99.com feisty/universe Packages
命中 http://ubuntu.cn99.com feisty/multiverse Packages
命中 http://ubuntu.cn99.com feisty-backports/main Packages
命中 http://ubuntu.cn99.com feisty-backports/restricted Packages
命中 http://ubuntu.cn99.com feisty-backports/universe Packages
命中 http://ubuntu.cn99.com feisty-backports/multiverse Packages
命中 http://ubuntu.cn99.com feisty-backports/main Sources
命中 http://ubuntu.cn99.com feisty-backports/restricted Sources
命中 http://ubuntu.cn99.com feisty-backports/universe Sources
命中 http://ubuntu.cn99.com feisty-backports/multiverse Sources
下载 5B,耗时 0s (5B/s) 
正在读取软件包列表... 完成
ll@Lejcey-Linux:~$ sudo apt-get dist-upgrade 
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
Reading state information... 完成      
正在筹划升级... 完成
下列的软件包将被升级:
  smplayer
共升级了 1 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件未被升级。
需要下载 0B/833kB 的软件包。
解压缩后会消耗掉 45.1kB 的额外空间。
您希望继续执行吗?[Y/n]y
【警告】:下列的软件包不能通过验证!
  smplayer
不经验证就安装这些软件包么?[y/N] y
dpkg: 解析错误,在“/var/lib/dpkg/available”文件的第“2”行附近 软件包“python-bittorrent”:
 该上下文中不接受“status”字段的值
E: Sub-process /usr/bin/dpkg returned an error code (2)
ll@Lejcey-Linux:~$ man dpkg
Reformatting dpkg(1), please wait...
ll@Lejcey-Linux:~$ 

只有当一个人全面了解自己后,他才会知道自己需要的是什么。
同理,只有当一个人全面了解linux以后,他才会知道自己需要的linux软件是什么。
头像
Lejcey
帖子: 105
注册时间: 2005-08-18 22:24
来自: 广东省中山市

#22

帖子 Lejcey » 2007-05-21 0:10

建立一个空文件,然后覆盖原来的available,然后就可以正常安装包了,但是这个文件已经变得很小了,估计以前安装的包的available的记录已经不在了,里面记录了我新安装的包。卸载包也正常,但是不知道以后会不会发生什么问题,先暂时这样了。

代码: 全选

ll@Lejcey-Linux:/var/lib/dpkg$ vi 1
ll@Lejcey-Linux:/var/lib/dpkg$ sudo vi 1
ll@Lejcey-Linux:/var/lib/dpkg$ ls
1              cmethopt        lock          statoverride-old
alternatives   diversions      methods       status
available      diversions-old  parts         status-old
available-old  info            statoverride  updates
ll@Lejcey-Linux:/var/lib/dpkg$ sudo mv 1 available
ll@Lejcey-Linux:/var/lib/dpkg$ ls
alternatives   cmethopt        info     parts             status
available      diversions      lock     statoverride      status-old
available-old  diversions-old  methods  statoverride-old  updates
ll@Lejcey-Linux:/var/lib/dpkg$ sudo apt-get dist-upgrade 
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
Reading state information... 完成      
正在筹划升级... 完成
下列的软件包将被升级:
  smplayer
共升级了 1 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件未被升级。
需要下载 0B/833kB 的软件包。
解压缩后会消耗掉 45.1kB 的额外空间。
您希望继续执行吗?[Y/n]y
【警告】:下列的软件包不能通过验证!
  smplayer
不经验证就安装这些软件包么?[y/N] y
(正在读取数据库 ... 系统当前总共安装有 103888 个文件和目录。)
正预备替换 smplayer 0.4.18-1ubuntu1 (使用 .../smplayer_0.4.22-1ubuntu1_i386.deb) ...
正在解压缩将用于更替的包文件 smplayer ...
正在设置 smplayer (0.4.22-1ubuntu1) ...
ll@Lejcey-Linux:/var/lib/dpkg$ ls -all
总用量 2664
drwxr-xr-x  7 root root    4096 2007-05-21 00:04 .
drwxr-xr-x 48 root root    4096 2007-05-18 18:43 ..
drwxr-xr-x  2 root root    4096 2007-05-17 23:50 alternatives
-rw-r--r--  1 root root     557 2007-05-21 00:04 available
-rw-r--r--  1 root root     557 2007-05-21 00:04 available-old
-rw-r--r--  1 root root       8 2007-04-18 11:15 cmethopt
-rw-r--r--  1 root root    6632 2007-05-18 00:00 diversions
-rw-r--r--  1 root root    6554 2007-05-18 00:00 diversions-old
drwxr-xr-x  2 root root  176128 2007-05-21 00:04 info
-rw-r-----  1 root root       0 2007-05-21 00:04 lock
drwxr-xr-x  5 root root      40 2007-04-18 11:18 methods
drwxr-xr-x  2 root root       6 2007-03-06 18:38 parts
-rw-r--r--  1 root root      30 2007-04-18 11:26 statoverride
-rw-r--r--  1 root root       0 2007-04-18 11:15 statoverride-old
-rw-r--r--  1 root root 1211839 2007-05-21 00:04 status
-rw-r--r--  1 root root 1211870 2007-05-21 00:04 status-old
drwxr-xr-x  2 root root       6 2007-05-21 00:04 updates
ll@Lejcey-Linux:/var/lib/dpkg$ vi available
ll@Lejcey-Linux:/var/lib/dpkg$ sudo apt-get remove wine
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
Reading state information... 完成      
下列软件包将被【卸载】:
  wine wine-ubuntu
共升级了 0 个软件包,新安装了 0 个软件包,要卸载 2 个软件包,有 0 个软件未被升级。
需要下载 0B 的软件包。
解压缩后将会空出 45.5MB 的空间。
您希望继续执行吗?[Y/n]y
(正在读取数据库 ... 系统当前总共安装有 103887 个文件和目录。)
正在删除 wine-ubuntu ...
正在删除 wine ...
ldconfig: /usr/lib/libpth.so.20.0.27 is not an ELF file - it has the wrong magic bytes at the start.

ldconfig: /usr/lib/libpth.so.20 is not an ELF file - it has the wrong magic bytes at the start.

ldconfig: /usr/lib/libimm_server.so.0.0 is not an ELF file - it has the wrong magic bytes at the start.

ldconfig: /usr/lib/libimm_server.so.0 is not an ELF file - it has the wrong magic bytes at the start.

ldconfig: /usr/lib/libimm_server.so is not an ELF file - it has the wrong magic bytes at the start.

ll@Lejcey-Linux:/var/lib/dpkg$ sudo apt-get autoremove mplayer
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
Reading state information... 完成      
下列软件包将被【卸载】:
  mozilla-mplayer mplayer mplayer-fonts
共升级了 0 个软件包,新安装了 0 个软件包,要卸载 3 个软件包,有 0 个软件未被升级。
需要下载 0B 的软件包。
解压缩后将会空出 19.3MB 的空间。
您希望继续执行吗?[Y/n]y
(正在读取数据库 ... 系统当前总共安装有 103351 个文件和目录。)
正在删除 mozilla-mplayer ...
正在删除 mplayer-fonts ...
正在删除 mplayer ...
ll@Lejcey-Linux:/var/lib/dpkg$ 
只有当一个人全面了解自己后,他才会知道自己需要的是什么。
同理,只有当一个人全面了解linux以后,他才会知道自己需要的linux软件是什么。
caiwentao
帖子: 3
注册时间: 2006-05-04 22:05

#23

帖子 caiwentao » 2007-08-28 1:51

我也遇到了和你一样的问题,总算解决了。谢谢:)
一帆
帖子: 1
注册时间: 2008-07-27 17:50

#24

帖子 一帆 » 2008-07-27 17:55

本人遇到错误提示信息和楼主一样,不过解决办法可能稍有不同。
使用less 命令

代码: 全选

 less /var/lib/dpkg/available
查看available文件不存在,但是

代码: 全选

 less /var/lib/dpkg/available-old
时候available-old文件看似正常,所以
使用命令

代码: 全选

 sudo cp /var/lib/dpkg/available-old /var/lib/dpkg/available
操作成功
之后,安装软件正常
回复