硬关闭后库损坏

硬关闭后库损坏

昨天晚上,我的笔记本电脑执行了硬关机,因为我的电池没电了。重启后Xorg挂起,故障排除非常困难。我的分区的第一次文件系统检查ext4没有产生错误。我又开始检查相关内容logs,没有发现任何异常。自从我使用以来,xdm我最终查看了/var/log/xdm.log找到以下行的位置,之前我曾多次忽略它

/usr/bin/X: symbol lookup error: /usr/lib/libpciaccess.so.0: undefined symbol: gzopen64

然后我调用了

apt-get install --reinstall libpciaccess

重新启动后一切又恢复正常了。

我知道硬关闭可能会损坏数据,因为磁盘缓存无法再进行物理写入。由于我对文件系统内部没有更深入的了解,我想知道为什么/usr/lib/libpciaccess.so.0会因关闭而受到伤害?特别是考虑到系统仅从共享库中读取,因此这些所在的扇区不太可能发生损坏。

此外,我想知道哪些文件系统对硬关闭的抵抗力更强,哪些文件系统对硬关闭的抵抗力更弱。

感谢您的宝贵时间和最诚挚的问候

答案1

这并不是“正确”文件系统的问题,而是如何使用它以及如何安装它的问题。

如果是 ext3 和 ext4,您可以使用,同步,目录同步选项。

如果在实际写入之前同步元数据,则具有意图写入日志的文件系统通常会更好。

在您的情况下,可能是库缓存(/etc/ld.so.cache)已损坏 - 一个简单的方法ldconfig可能已经解决了问题。

有时您需要强制进行完整的文件系统检查以查找并纠正错误。有时您需要通过 Netboot 或 CD/DVD(映像)进行救援启动才能执行此操作。

fsck -f -y ...- 将输出写入日志文件以供以后查看。

之后,检查每个被报告为有问题的文件/目录,并且包的外观仍然没问题(在基于 rpm 的系统上:)rpm -V- Debian 应该有一个类似的机制来确定文件属于哪个包并验证包装的完整性。

相关内容