CentOS清理系统垃圾的实用步骤

一准备工作与风险提醒

全程使用具有sudo权限的账户,重要数据务必先备份。

清理前先查看磁盘使用情况:

df-h
;定位大目录:
du-sh/*
,避免盲目删除。

生产环境谨慎操作,尽量在维护窗口执行,删除前确认文件或进程是否在使用。

二包管理与缓存清理

清理YUM缓存:

sudoyumcleanall

清理DNF缓存(适用于CentOS8+):

sudodnfcleanall

删除不再需要的软件包:

sudoyumremove
(按需)

自动移除无用依赖:

YUM:

sudoyumautoremove

DNF:

sudodnfautoremove

清理旧内核(推荐保留最近1–2个版本):

查看已安装内核:

rpm-qkernel

删除指定旧版本:

sudoyumremovekernel-

或使用yum-utils(若已安装):

sudopackage-cleanup--oldkernels--count=1
以上可显著释放
/var/cache/yum|dnf
/boot
占用的空间。

三临时文件与系统缓存

手动清理临时目录(重启后部分会自动清除,但长期运行可能堆积):

sudorm-rf/tmp/*

sudorm-rf/var/tmp/*

使用systemd-tmpfiles安全清理(推荐在CentOS7+):

sudosystemd-tmpfiles--clean

按时间清理旧临时文件(示例:删除7天前):

sudofind/tmp-typef-mtime+7-delete

sudofind/var/tmp-typef-mtime+7-delete

清理PackageKit临时文件(若存在):

sudorm-rf/var/cache/PackageKit/*

仅“释放内存页缓存”(不影响磁盘空间,安全):

sudosync&&echo3|sudotee/proc/sys/vm/drop_caches
上述步骤可有效回收临时文件与可回收的缓存占用。

四日志与journal日志

查看日志占用:

sudodu-sh/var/log/*

清空单个日志文件(保留文件,快速释放空间):

sudotruncate-s0/var/log/

按时间清理journal日志(示例:保留最近7天):

sudojournalctl--vacuum-time=7d

按体积清理journal日志(示例:最大保留500M):

sudojournalctl--vacuum-size=500M

删除指定天数前的传统日志(示例:30天前):

sudofind/var/log-typef-name"*.log"-mtime+30-delete
日志清理能快速回收
/var/log
与journal的磁盘占用。

五大文件定位与自动化维护

定位大文件/目录(示例:大于100MB):

sudofind/-typef-size+100M-execls-lh{}\;

交互式磁盘占用分析:

sudoyuminstall-yncdu&&sudoncdu/

图形化清理工具(可选):

sudoyuminstall-ybleachbit&&sudobleachbit

用户回收站(若存在):

rm-rf~/.local/share/Trash/*

自动化维护(示例:每天2:00清理临时文件)

sudocrontab-e
添加:
02***/usr/sbin/tmpwatch-f/tmp

或:

02***/usr/bin/systemd-tmpfiles--clean--file=/etc/tmpfiles.d/*.conf
通过定位大文件与定时任务,可形成长期、低成本的磁盘空间治理闭环。