从近乎灾难中救援一个Linux系统

当一个Linux用户发现他的系统的磁盘空间几乎耗尽并且不愿意保存文件时,在线的Linux用户提供了一个解决方案。

一台笔记本电脑坐在暴风雨的海面。[灾难恢复/危机管理]
Fergregory / Getty Images

您越了解Linux如何工作,您将在遇到问题时更好地完成一些很好的故障排除。在这篇文章中,我们将潜入我的联系人,克里斯群,最近遇到的问题,他确实确定了他的系统上发生了什么,阻止了它的轨道上的问题,并确保它永远不会再发生。

灾难降临

这一切都始于Chris的笔记本电脑报告它的磁盘空间即将耗尽——特别是在他的1TB驱动器上只剩下1GB可用的磁盘空间。他没有预料到这一点。他还发现自己无法保存文件,这是一个非常具有挑战性的情况,因为这是他拥有的唯一的系统,他需要系统来完成他的工作。

当系统被系统提示出来“检查或忽视”问题时,他选择审视它。环顾四周,他注意到他的/ var / log目录变得非常大。他更仔细地查看了目录,发现他的syslog.文件已经长大到365GB。想象一下,克里斯和看这样的东西:

$ ls -lh /var/log/syslog -rw-r----- 1 syslog管理365G6月5日12:11 / var / log / syslog

寻找帮助

克里斯在网上搜寻,发现了这篇文章在stackoverflow上鼓励覆盖syslog文件的大小。

他做的第一件事就是运行这三条命令:

$ sudo su  - #sudo> / var / log / syslog#sudo systemctl重新启动syslog

第一个命令允许他拥有根权限,第二个命令清空系统上的syslog文件,第三个命令重新启动syslog守护进程,以便它继续收集有关系统上发生的事情的信息。他仍然需要找到罪犯。

接下来,他修改了他的掠夺设置(在/etc/logrotate.d/syslog文件中),因此该文件无法变为大于1GB。他通过添加了这一点最大限度设置为以下行中的指出:

/var/log/syslog{每天轮换7次maxsize 1G< = =Missingok Notifempty DelayCompress压缩Postrotate / USR / lib / rsyslog / rsyslog-rotate stantimpt}

第一行(旋转7)确保将保留七个世代的Syslog文件以及当前的文件,但不能解决当前文件在一天中变为巨大尺寸的问题。在正常系统上,Syslog文件的集合每日旋转时会如此查看:

$ ls -l / var / log / syslog * -rw-r ----- 1 syslog adm 828674 6月10日08:00 / var / log / syslog -rw-r ----- 1 syslog adm 2405968 6月9日16:09 /var/log/syslog.1 -rw-r ----- 1 syslog adm 206451 6月9 00:00 /var/log/syslog.2.gz -rw-r ----- 1 syslogADM 216852 6月8日00:00 / var/log/syslog.3.gz -rw-r ----- 1 syslog adm 212889 6月7日00:00 /var/log/syslog.4.gz -rw-r----- 1 syslog adm 219106 6月6日6 00:00 /var/log/syslog.5.gz -rw-r ----- 1 syslog adm 218596 6月5日00:00 /var/og/syslog.6。gz -rw-r ----- 1 syslog adm 211074 6月4 00:00 / var/log/syslog.7.gz

“旋转7”(保持七代)和“日常”(每天旋转)的组合使您与如所示的一组文件留下。加入最大限度设置意味着您的日志将每天或每当它们达到指定的大小时轮换,因此您可能每天轮换不止一次日志。但是,在1G的设置下,您应该永远不会看到当前和以前的文件使用超过1GB的文件,而其余日志文件的大小可能小于1GB,因为它们将被压缩。这将确保syslog文件不会超过3gb——远小于Chris的365gb。(你可以从这里得到更多关于对数旋转工作的细节邮政.)

由于syslog文件的大小受到限制,Chris准备探究问题的原因。首先,他运行这个命令:

$ tail -f syslog

这使得他可以专注于文件的底部,但也会在添加时显示额外的行。包含如下字符串的消息流:“baloo_file.desktop[2982]: org.kde.baloo。引擎:“很快识别Baloo.(KDE Plasma的文件索引和文件搜索框架)是问题的根源。

由于克里斯使用了Ubuntu Gnome,他需要调查为什么Baloo在他的系统上运行。然后他回忆起他已经安装了一个名为dolphin的文件管理器,这可能会带来baloo。

使用Balooctl.命令,他能够验证baloo确实在运行,并使用以下命令停止它作为root:

# balooctl停止;balooctl禁用

然后他删除了使用以下命令的Dolphin(软件经理没有帮助):

$ sudo apt install -s dolphin $ sudo apt remove——清除libkf5balooengine5 $ sudo rm -rf .local/share/baloo/

之后,Chris的系统立即恢复到原来的速度,他已经恢复了300GB的磁盘空间。在进行了一些室内清理、清理缓存、删除不再使用的应用程序等之后,Chris恢复了超过400GB的驱动器空间。他声称,现在他的笔记本电脑运行速度和第一次安装Ubuntu时一样快。

注意,一些Linux系统使用消息文件而不是syslog.文件,其他人(如fedora)现在使用CournalCTL.命令显示存储在文件中的数据/var/log/journal目录。

总结

一个令人担忧的、导致Linux笔记本电脑几乎完全不可用的问题,通过对如何释放一些磁盘空间和防止磁盘满溢的深入了解得到了解决,通过查看syslog文件条目对问题进行了快速分析,对日志旋转设置的修改,并删除导致问题的系统服务。

我应该强调克里斯认为自己是一个Linux用户,而不是一个“Techie”,并且很感谢追踪并用其他Linux用户自由的帮助来解决问题,或者在克里斯描述它,“真正的专业知识在简单的英语中解释对于普通人“。他强调了这对他来说是有多重要的是,他是一个Linux用户,他想象的是对我们所有人的重要性。

鉴于Chris的经验,也许我们更多的人应该考虑覆盖我们的日志文件的大小,监视磁盘空间使用情况,并从不忘记在线可用多少帮助。

加入网络世界社区有个足球雷竞技app脸谱网linkedin.对自己最关心的话题发表评论。
有关的:

版权所有©2021.Raybet2

2021年IT薪资调查:结果是