我的/tmp
目录损坏了。事情一度变得很可怕,我无法启动 :-(。现在,我通过将损坏的目录重命名/tmp
为/tmp.old
并创建新的 来恢复系统/tmp
:
drwxrwxrwt 6 root root 4096 Nov 29 13:44 tmp
drwxrwxrwt 4 root root 1013628928 Nov 29 13:49 tmp.old
我在重启时强制执行了 fsck,我以为这样可以解决问题。一切似乎都正常,但如果我尝试查看或删除或命令/tmp.old
,它就会挂起并且不会返回任何内容。我该如何摆脱并确保没有其他问题?ls
rm
/tmp.old
答案1
这个问题的解决方案与我预期的有些不同。在我问了这个问题之后,我的/tmp
目录又“损坏”了两次。
我终于明白了,其实它一点也不腐败。它只是充满了巨大的文件数(实际上是符号链接)。事实上,它已经满了,ls
在开始做任何事情之前,它会挂起相当长的时间(超过一分钟)来处理索引。我的系统无法启动,因为启动过程的一部分是清除/tmp
,而它在此时卡住了。rm
即使等了很长时间,我也没有得到命令返回。在网上做了一些研究后,我最终找到了这个命令:
cd /tmp
sudo find . ! -path . -delete
这似乎效果更快,仅需一个小时左右!!
这样就解决了/tmp
目录问题。目录被填满的原因与打印有关。如果我尝试打印某些内容,就会引发问题(尽管这个问题不是很明显,因为需要一段时间才能/tmp
填满)。但是,查看正在创建的符号链接,我注意到它们都指向我的打印机的 ppd 文件。我使用 hp-setup 程序(它是 HP 打印机)删除并重新安装了打印机 - 但这并不能解决问题。但是,删除并手动设置打印机而不使用 hp-setup 可以解决问题。不确定这是 hp-setup、我的打印机驱动程序还是 cups 的问题……但现在它可以正常工作了。
答案2
Live 启动进入 Ubuntu 并将其删除