技术解析

关于 fsck 屡试不爽带来的后遗症
0
2021-06-21 03:04:01
idczone

一直在用 Ubuntu 桌面办公,经常懒得关机,以至于每次多日之后关机经常出问题,表现为:

关机之后翻车了,经常不能再次正常开机进入桌面。

每次都是使用 U 盘进入 Ubuntu 的 pe 系统使用 fsck -y 进行修复,平时也就修复或者删掉几个 inode,屡试不爽......这次我也默认加了-y 参数。

........................

结果删了满满一屏幕的东西。。。

吓得我下巴都掉了。。。

fsck 根目录就算了,这次还发神经 fsck 了 home 分区...

当时也没在意删了什么,,正常开机之后发现还真丢了点东西。

对于我这种折腾不起的人来讲,以后存东西还是独立放在其他的硬盘(譬如单独的 ntfs 格式的硬盘,感觉 ext4 不好折腾...)或者别 fsck home 分区...

纯属吐槽一下


赶快检查下硬盘是不是有问题,哪有每次开机都 fsck 的。

应该不是硬盘问题,因为之前这个系统在机械硬盘上也同样出现这种问题(现在在固态)。
感觉是 Linux 的桌面不完善的导致的?

这就厉害了,用 debian 还没发现这情况

同觉得是磁盘问题,我的树莓派偶尔断点之类异常情况也是需要 fsck,但是桌面 PC 的 ubuntu 没遇到过

额,感觉是不是运行桌面程序太久导致的?我经常运行桌面一个星期左右才关机?

除了强行关机或磁盘有问题。
没遇到过正常关机就需要 fsck 的情况。


和 “懒得关机” 没关系。
很多用 linux 的都是电脑需要带走才关机 / 休眠,也没见他们出现这个问题啊。
和 “ linux 的桌面不完善” 关系也不大,主流的桌面如果出现这种 Bug,优先级会很高,都会很快修复的。

不靠谱的猜测下,会不会是接口有点问题。

啊哈哈,漏了点东西:经常无法正常关机,我强制重启的(关机卡屏十来分钟,我顶不住了就直接关了),啊哈哈

我并不怀疑“很多用 linux 的都是电脑需要带走才关机 / 休眠,也没见他们出现这个问题啊。”,也不怀疑 Linux 的稳定性问题。
我只是认为“桌面”这个软件不稳定(包括其生态)。
当然刚刚你也提到了“强制关机”这个问题,是我忽略了,
那么会不会是桌面(包括各种桌面应用不友好)而导致无法正常关机?

“很多用 linux 的都是电脑需要带走才关机 / 休眠,也没见他们出现这个问题啊。”,这个大多指服务器没有桌面环境的吧?


建议别经常强行关机,有几率文件系统会因此坏掉(就是 fsck 都救不回来的那种。


不啊,我看很多 Linux 群里的人(包括我)都是需要带走电脑(笔记本)时才关机。
开机时长,几分钟到几周不等。
反正正常使用,文件系统一般还是不会出问题的。

应该是驱动问题,导致开关机流程挂起

你所说的 “关机卡屏十来分钟”。没有具体的日志不好判断是什么原因造成的,但可能会有以下可能。
1 )关机时后台有服务 systemd 不能将它停止,然后就等 90s (一般默认是 90s) 后强制结束它,但也可能会出现等待很多次 90s。
2 ) N 卡驱动没配置好,可能导致关机时卡住。

我也感觉是,我的 tty 一直无法进入,只要把驱动禁用了,就可以进入 tty 了(曾尝试解决(包括简单重装各种版本的驱动),但一直无法解决,我也很无奈)
有道理,但是无法正常关机我也很无奈,只能强制断电了,(不过我记得有个教程是关机前要做一些什么操作来的,什么清空缓存什么同步之类的,当时认为 linux 不至于这么“傻”吧,我关机的时候,不会自动帮我完成这些操作吗?(#手动滑稽),所以就被我忽略掉了)

恩,有空我得学学看看是怎么回事。

最好别强行关机,关机时等很长时间也不关的话。按住 alt + insert,依次按下 reisub,然后系统就会重启。

是 alt + SysRq

关机卡在 logo 也能这么操作吗?

只要启用了 SysRq 的功能并且内核没有卡死就可以。

因为我的笔记本装的 Mint linux,关机的时候有时也会很长时间关不掉。具体的你需要亲自试一下。

这个操作并不能保证完成一次 sync,无助于文件系统完整性?

/usr/lib/apt/method 里面的文件全被删了,只剩下一些软连接,导致 apt ....一直报错:
N: Is the package apt-transport-http installed?
E: The method driver /usr/lib/apt/methods/http could not be found.
直接安装 apt-transport-http 报不存在,而 apt-transport-https 却已经安装。
无奈从另一台机器上复制这几个文件到这里来。
纳闷,不知道还删了我多少文件或者资料。。

我只有在用 hurd 的时候才遇到过每次开机都要 fsck 的情况。。。。。

你这个肯定是个例,有具体的原因,可以找找。
和 Linux 桌面和文件系统的关系不大。
你平时系统跑什么程序?占内存较多的,io 负载大的之类。

的确有,开虚拟机,以及用 cuda 跑计算,涉及到一定量的 io 操作。
但是这种计算之类或者 io 之类的操作不应该是 linux 的强项吗?如果我这点操作都能让系统出现这些问题,那么那些大型的计算类操作岂不是很尴尬?当然也可能是我程序有问题哈。

看到你补充的细节了,系统无法正常关机是关键信息,因为某种原因导致磁盘回写没有结束。
尝试一下关机之前,sync 一下呢。
如果 sync 正常结束,理论上就不会有问题了。

好的,非常感谢,下次我注意一下。

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服