Ubuntu 断电后就坏了。怎么修?

Ubuntu 断电后就坏了。怎么修?

我有 Ubuntu 11.10。服务器今天停电了。自从电源恢复后,设备只能部分工作。有些服务工作正常,有些服务无法启动,例如

apache2ctl restart
Inconsistency detected by ld.so: ../sysdeps/i386/dl-machine.h: 640: elf_machine_rel_relative: Assertion `((reloc->r_info) & 0xff) == 8' failed!
Action 'restart' failed.
The Apache error log may have more information.

do-dist-upgrade
Segmentation fault

apt-get update
(no output)

检查 dmesg 后,apt-get 也出现段错误。

[  552.996106] apt-get[1674]: segfault at 6f5104d2 ip b7655c03 sp bfd50ff0 error 6 in libapt-pkg.so.4.11.0[b7618000+117000]

所以我尝试使用强制 fsck

sudo touch /forcefsck
reboot

然后稍后通过

shutdown -rF now

但两者之后我仍然得到

cat /var/log/fsck/check*
(Nothing has been logged yet.)
(Nothing has been logged yet.)

我对下一步要尝试什么有点迷失。我虽然只是重新安装一些可能损坏的软件包,但首先我不知道是哪个,然后我不确定如何(尽管 dpkg 可以工作)。我真的想避免重新安装整个东西。任何建议表示赞赏。

答案1

这些不同的段错误更有可能表明内存或磁盘连接出现问题,而不是文件系统损坏。

您应该首先通过重新启动并从 grub 菜单中选择内存检查器来检查内存,并让它至少运行一次。重新安装内存(切换电源后),如果发现错误,请重试。

如果没有显示错误,我将从 CD 启动并对每个已卸载的分区运行完整的文件系统检查。在此期间,请密切关注日志以查看光盘是否超时:数据可能没问题,但传输可能会出现错误。如果您确实断开并重新连接电缆(关闭电源后)。

答案2

我的最终解决方案是:

  1. 通过用从 Internet 下载的副本apt-get替换它所说的有错误的实际文件 ( )来修复此问题。libapt-pkg.so.4.11.0apt-get让我大吃一惊。我期待后续错误。

  2. 现在它apt-get已经可以工作了,我可以执行dist-upgrade并替换系统中的几乎所有软件包。

不过,我不明白它如何损坏磁盘上的文件(没有 fsck 报告错误)。

相关内容