这个错误怎么修改

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
小爻-洛洛
帖子: 27
注册时间: 2008-11-17 11:36

这个错误怎么修改

#1

帖子 小爻-洛洛 » 2008-11-21 13:14

新立德进不去了,打开以后显示
E: dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem.
E: _cache->open() failed, please report.


按照他给的提示在终端里输入命令以后显示这样:

lisa@scheisse:~$ sudo dpkg --configure -a
正在设置 initramfs-tools (0.85eubuntu39.3) ...
update-initramfs: deferring update (trigger activated)

正在设置 linux-ubuntu-modules-2.6.24-21-generic (2.6.24-21.33) ...
update-initramfs: Generating /boot/initrd.img-2.6.24-21-generic

gzip: stdout: No space left on device
update-initramfs: failed for /boot/initrd.img-2.6.24-21-generic
dpkg:处理 linux-ubuntu-modules-2.6.24-21-generic (--configure)时出错:
子进程 post-installation script 返回了错误号 1
dpkg:依赖关系问题使得 linux-image-generic 的配置工作不能继续:
linux-image-generic 依赖于 linux-ubuntu-modules-2.6.24-21-generic;然而:
软件包 linux-ubuntu-modules-2.6.24-21-generic 还没有被配置。
dpkg:处理 linux-image-generic (--configure)时出错:
依赖关系问题 - 仍未被配置
dpkg:依赖关系问题使得 linux-generic 的配置工作不能继续:
linux-generic 依赖于 linux-image-generic (= 2.6.24.21.23);然而:
软件包 linux-image-generic 还没有被配置。
dpkg:处理 linux-generic (--configure)时出错:
依赖关系问题 - 仍未被配置
Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-2.6.24-21-generic

gzip: stdout: No space left on device
update-initramfs: failed for /boot/initrd.img-2.6.24-21-generic
dpkg: 子进程 post-installation script 返回了错误号 1


该怎么办?
头像
lyp069
帖子: 272
注册时间: 2005-10-25 13:54
联系:

Re: 这个错误怎么修改

#2

帖子 lyp069 » 2008-11-21 13:20

软件仓库里出现损坏的软件包。只要把备份的dpkg配置文件覆盖了就可以解决。我手里没有系统,太约在/var目录之下有个cache文件夹。一个.old文件。实在记不清了。这里面有一个记录,软件包选择状态的配置文件,只要删掉里面损坏包的字段就可以就可以重新配置。虽然系统中还有遗留的文件。但只要再次运行更新,就会被系统删掉。
Full Circle中文杂志 | Ubuntu社区独立发行的电子月刊
http://www.freeearth.org.cn
头像
lyp069
帖子: 272
注册时间: 2005-10-25 13:54
联系:

Re: 这个错误怎么修改

#3

帖子 lyp069 » 2008-11-21 13:24

查到了
/var/lib/dpkg/info
/var/lib/dpkg/available
这两个文目下一个是记录所有软件包的配置文件,一个是记录系统软件包的状态的,里面都有.old字样的文件。这个就是备份文件。只要把这个覆盖到现有的同名文件就可以了。
Full Circle中文杂志 | Ubuntu社区独立发行的电子月刊
http://www.freeearth.org.cn
头像
chaisy
帖子: 266
注册时间: 2008-10-14 14:35
来自: 杭州电子科大
联系:

Re: 这个错误怎么修改

#4

帖子 chaisy » 2008-11-21 13:39

lyp069 写了:查到了
/var/lib/dpkg/info
/var/lib/dpkg/available
这两个文目下一个是记录所有软件包的配置文件,一个是记录系统软件包的状态的,里面都有.old字样的文件。这个就是备份文件。只要把这个覆盖到现有的同名文件就可以了。
现有的同名文件在哪里呢,如何覆盖!
反对微软垄断,支持linux开源
小爻-洛洛
帖子: 27
注册时间: 2008-11-17 11:36

Re: 这个错误怎么修改

#5

帖子 小爻-洛洛 » 2008-11-21 13:50

对阿,对阿,要怎么覆盖阿?
头像
lyp069
帖子: 272
注册时间: 2005-10-25 13:54
联系:

Re: 这个错误怎么修改

#6

帖子 lyp069 » 2008-11-21 13:51

alt+F2
输入gksu回车
输入你的密码
你又会看到一个运行对话框
输入nautilus
注意,这个时侯你打开了一个有root权限的文件管理器,小心操作。你的任何不挡操作都将导致无法意料的后果。这也是为什么Ubuntu要禁用root帐号的原因。
进入
/var/lib/dpkg/available
var/lib/dpkg/available文件的内容是软件包的描述信息,该软件包括当前系统所使用的Debian安装源中的所有软件包,其中包括当前系统中已安装的和未安装的软件包.
这个目录下,还有一个同名文件,不过扩展名是.old。这是系统的备份。你先复制一份available,以防不测。再把available删掉,把.old文件重命名成available。
这样软件包选择状态将恢复成出错之前的状态。但是如果系统已备份了出错时的状态,就不好使了。你必须打开这个文件,查找损坏软件包的字段,发现一个就删除所在字段的文字。至到找不到标记为损坏软件包的字段为止。

上面所说的操作很危险,请小心操作。如果失败,就用先前备份的文件覆盖回去,再试。

如果操作完成后可以成功打开新立得,查一下状态里有没有损坏的软件包。用新立得连配置文件一起完全删除出错的软件包。

祝你好运,一定要小心操作!不要随便重启。
Full Circle中文杂志 | Ubuntu社区独立发行的电子月刊
http://www.freeearth.org.cn
回复