CentOS清理系统残留的实用方法

一标准清理流程

清理包管理器缓存

YUM:执行:

sudoyumcleanall

DNF(CentOS8+):执行:

sudodnfcleanall

删除无用依赖与孤立包

YUM:

sudoyumautoremove

DNF:

sudodnfautoremove

清理临时文件

系统临时目录:

sudorm-rf/tmp/*
sudorm-rf/var/tmp/*

用户级缓存与回收站:

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

清理日志与journal

按时间保留:

sudojournalctl--vacuum-time=7d
(保留最近7天,可按需改为30d等)

按体积保留:

sudojournalctl--vacuum-size=500M
(保留最近500MB)

清理旧内核(谨慎)

查看当前内核:

uname-r

保留最近2个内核:

sudopackage-cleanup--oldkernels--count=2
(仅删除旧版本,务必确保当前运行内核不在删除范围内)

二进阶定位与清理

快速定位大目录与文件

全局占用:

sudodu-sh/*

交互式分析:

sudoncdu/
(需安装:
sudoyuminstall-yncdu
sudodnfinstall-yncdu

按条件清理大文件

查找并列出大于100MB的文件:

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

删除超过7天的临时文件:

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

清理YUM/DNF缓存目录(可选)

sudorm-rf/var/cache/yum/*
sudorm-rf/var/cache/dnf/*
(一般
yum/dnfcleanall
已足够)

三自动化与系统级维护

使用systemd-tmpfiles定期清理临时文件

立即清理:

sudosystemd-tmpfiles--clean

配置自动清理:编辑或新增

/etc/tmpfiles.d/local.conf
,示例:
w/tmp14d
(表示清理/tmp下超过14天的文件)

定时任务示例(每日2:00执行)

sudocrontab-e
添加:
02***/usr/bin/systemd-tmpfiles--clean--file=/etc/tmpfiles.d/*.conf

图形化工具(可选)

安装并使用BleachBit:

sudoyuminstall-ybleachbit
sudodnfinstall-ybleachbit
,在界面中勾选项目后执行清理

四安全注意事项

操作前务必备份重要数据,清理命令使用root或具备sudo权限执行。

清理/tmp与/var/tmp时,可能有程序正在使用临时文件,建议在维护时段执行或先停止相关服务。

删除旧内核前,确认当前运行内核:

uname-r
,仅保留至少1–2个可用内核,避免误删导致无法启动。

清理日志建议优先使用

journalctl--vacuum-*
等安全方式,避免粗暴删除
/var/log
下正在写入的日志文件。

谨慎使用

echo3>/proc/sys/vm/drop_caches
释放页面/目录项/inode缓存,仅在必要时执行,且不会影响已持久化的数据。