昨天晚上,我的笔记本电脑执行了硬关机,因为我的电池没电了。重启后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 应该有一个类似的机制来确定文件属于哪个包并验证包装的完整性。