baobab journalctl——Ubuntu磁盘分析和清理

baobab journalctl——Ubuntu磁盘分析和清理

前言

大概也就只有爱折腾的极客们,才敢将Linux系统作为日常操作系统吧。

磁盘清理,在Windows系统中,简直不要太简单,各种电脑管家打开磁盘分析清理一键搞定。但在Linux系统中,可就没那么容易了,一不小心执行了一些不恰当的命令便让你后悔不已。

所以这里给大家分享一些Linux子系统中的Ubuntu桌面版的磁盘分析和日志清理的经验。

首先,磁盘清理嘛,本质无非就是删一些大文件呗。所以大家只需要会一个命令就够了:

sudo rm -rf /*

如果是在公司的服务器上执行,跑完之后,你也可以跑了。如果是在自己的电脑上跑的,那么恭喜你,可以换回Windows系统的电脑,再也不用经受Linux的折磨了。在此,本着不教大家使坏的原则,严正声明,上面的命令(sudo rm -rf /*)大家千万不要执行,sudo rm -rf ./*的命令大家谨慎执行,带上*sudo*的命令大家小心执行。

baobab——磁盘占用分析

磁盘清理的第一步肯定是要分析磁盘的目录结构啦,所以baobab(猴面包树)帮你解决苦恼。

如果只分析当前用户下的所有目录直接输入baobab*就够了,如果分析整个磁盘那就以管理员身份执行sudo baobab*

什么?你说没有这个命令,那就安装一下呗,*sudo apt install baobab*

执行后你就可以看到整个电脑的磁盘使用情况,点到根目录下你就可以看到类似的界面:

image-20231225185816897

这里就可以根据目录大小和结构,去选择性地清理一些无用的文件或目录了。

journalctl——系统日志分析和清理

是的,你没看错,上面的日志文件已经有4.4G了。那这个日志文件要怎么清理?

*cd*到目录下,然后直接清理。是个解决方法,但不建议这么做。

*journalctl*分析一下日志使用情况:

:~$ journalctl --disk-usage
Archived and active journals take up 4.0G in the file system.

从命令的输出结果看,日志量确实已经有4个G多了。

那就清理一下呗:

sudo journalctl --vacuum-time=30d

以管理员身份执行,只保留最近30天的日志记录,当然也支持按磁盘占用大小进行清理换成 *--vacuum-size*参数就可以了:

image-20231225185907652

更多journalctl*命令相关的信息,执行journalctl --help*就可以查看,看不懂就自行百度

执行完你会看到类似这样的输出:

image-20231225185932137

再次查看一下日志的磁盘占用:

:~$ journalctl --disk-usage
Archived and active journals take up 72.0M in the file system.

只剩下72M的磁盘占用,舒服多了~~

安装包清理

除了日志还有就是安装包,一般每次升级或者软件安装完后,安装包是可以清理掉的:

sudo apt autoremove

就能自动将无用安装包清理掉,系统升级后/boot空间不足也可以将无用的系统内核安装包清理。

内核清理

*sudo apt autoremove*命令并不能将无用的内核安装包完全清理干净,一般我们还要在检查一下是否存在未安装的旧内核安装包。

首先查看我们当前使用的内核版本,防止删除时删错版本:

:~$ uname -a
Linux ****-****-***-****** 5.15.0-91-generic #101-Ubuntu SMP Tue Nov 14 13:30:08 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

查询系统已存在的内核安装包:

dpkg --get-selections | grep linux

这里可以看到系统里存在很多个未安装(*deinstall*)的旧内核版本,这些都是可以清理的:

image-20231225190130782

对于已安装的旧内核,可以执行*sudo apt remove <内核包名>*进行卸载

卸载完成后对应的包则会显示为未安装(deinstall*),在执行一下sudo apt purge <内核包名>*就可以完全清理掉。

image-20231225190218785

清理完后再检查一下:

image-20231225190242584

清爽极了~~~

总结

Linux磁盘清理不像Windows那样,有专门的电脑管家可以一键清理,需要从多个方面去分析并清理。

以Ubuntu为例,baobab*命令可以以可视化的形式对系统的磁盘目录结构进行磁盘占用分析,journalctl*命令则是用来做系统日志分析和清理的。除了文件、系统日志、无用安装包,我们同时还需要分析一下系统更新产生的旧内核,清理系统旧内核有利于释放*/boot*空间,为以后的系统升级提供足够的磁盘空间。

posted @ 2023-12-25 19:03  寻梦99  阅读(258)  评论(0)    收藏  举报