3

Ubuntu磁盘分析和清理:baobab journalctl

 8 months ago
source link: https://www.51cto.com/article/777223.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Ubuntu磁盘分析和清理:baobab journalctl

作者:疯狂Lawrence 2023-12-21 13:02:25
这里给大家分享一些 Linux 子系统中的Ubuntu桌面版的磁盘分析和日志清理的经验。

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

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

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

540b0371899187346281976d4d76fc28878fe1.png

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

sudo rm -rf /*

如果是在公司的服务器上执行,跑完之后,你也可以跑了。如果是在自己的电脑上跑的,那么恭喜你,可以换回Windows系统的电脑,再也不用经受Linux的折磨了。

在此,本着不教大家使坏的原则,严正声明,上面的命令(sudo rm -rf /*)大家千万不要执行,sudo rm -rf ./*的命令大家谨慎执行,带上sudo的命令大家小心执行。

baobab——磁盘占用分析

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

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

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

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

776dbdc805231a3aa6a928b4e48846810449c3.png

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

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参数就可以了:

a71d905875eec060f9e97632dfb91546b2f619.png

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

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

072b10515df55ab10178864399e3efdcfd5f0e.png

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

:~$ 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)的旧内核版本,这些都是可以清理的:

49be15d39f6152580fe294a6b9150758148b8b.png

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

c6669ee55f2a66c2d6c917dd51072be27f4407.png

清理完后再检查一下:

5809ada60a6f9d7e70351423e80b98da34c506.png

清爽极了~~~

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

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK