如何彻底清理CentOS系统冗余文件,实现系统无残留,全面优化性能?
- 内容介绍
- 文章标签
- 相关推荐
CentOS程序在日常运维中。最让人头疼的莫过于硬盘空间瞬间被各种无用文件填满,导致性能下降、服务异常甚至崩溃。无论是软件升级留下的旧内核,还是日志堆积不清。亦或是临时目录里堆着的垃圾文件,都可能让程序变得臃肿不堪。
1️⃣ 查看磁盘使用情况——先定位“痛点”
在开始任何清理之前,先用 df -h 和 du -sh /* | sort -rh | head -n10 快速定位占用最多的分区与目录。如果 /var 或 /home 占比过高,往往代表着日志或使用者数据已堆积。
2️⃣ 清理包管理器缓存——释放数GB硬盘空间
# 对于 CentOS 7 及以下
sudo yum clean all
# 对于 CentOS 8+
sudo dnf clean all
这一步可以立即腾出 几 GB 的空间,而且不会影响程序正常运行。
3️⃣ 删除旧内核——避免“主要冗余”导致启动慢和安全风险
# 查看已安装内核
rpm -q kernel
# 保留最新两版。只删除其它旧版
sudo package-cleanup --oldkernels --count=2
请务必确认当前运行的是最新内核,再执行删除操作,以免误删导致启动失败。
a) 手动清除单个旧内核示例:
# 找到需要删除的旧版本
sudo yum remove kernel-3.x.x.x
4️⃣ 清理日志文件——消除 “磁盘膨胀” 与 “查询慢” 两大痛点
a) /var/log 日志手工清除:
# 列出最近30天未访问的日志
find /var/log -type f -mtime +30 -exec rm {} \;# 或者保留最近一周:
find /var/log -type f!-mtime +7 -delete
b) systemd 日志自动压缩与截断:
# 保留最近两周的journal日志
sudo journalctl --vacuum-time=14d
# 或保留总大小为500M
sudo journalctl --vacuum-size=500M
5️⃣ 清理临时文件夹—/tmp 与 /var/tmp—防止 “程序瘫痪” 痛点出现
# 强制一次彻底清空
sudo rm -rf /tmp/* /var/tmp/*
6️⃣ 自动卸载孤立软件包—减少“依赖碎片”与“占用空间”问题
a) YUM/DNF 自动卸载:
# 自动移除未被任何程序使用的依赖包
sudoyum autoremove # 或 dnf autoremove
# 若想连配置文件一起删掉:
sudoyum autoremove --purge # 或 dnf autoremove --purge
b) APT 程序示例:
# 查看将要移除的软件包
sudp apt autoremove --dry-run
# 确认后执行完整移除
sudp apt autoremove # 加上 --purge 同时删除配置
7️⃣ 删除不再需要的软件、服务与使用者—针对“资源浪费”痛点进行彻底净化
-
停用并禁用无用服务:
-
删除多余使用者及其主目录:
sudouserdel -r username && sudo groupdel groupname/>
-
MEN & Docker 镜像清理:
# Docker 镜像和容器: sudodocker system prune -a # Maven 本地仓库: sudorm ~/.m2/repository/*
8️⃣ 查找并删除大文件—解决“单个巨型文件撑起整个硬盘”的痛点
sudosudo find / -type f -size +100M -exec ls -lh {} \;# 列出大于100MB的文件
sudosudo find / -type f -size +100M -delete # 一键删除这些大文件
9️⃣ 使用第三方磁盘清理工具—让维护更可视化、更省心
-
Dedupe 工具:
sudopackage‑cleanup --oldkernels --count=1 # 自动保留最新一版内核,其余全部删掉
- AWS CloudShell & RDP 可直接查看树形结构;
-
说到Ncdu,
BleachBit:
⚠️ 注意事项 ⚠️
-
在执行任何删除命令前。请务必备份关键数据或至少先做一次完整快照。
建议每周或每月定期跑一次自动脚本。保持程序干净,说起来,
bash
echo "开始执行 CentOS 磁盘清理任务..."
echo ">> 清除 YUM/DNF 缓存" if command -v dnf>/dev/null;话说回来,n dnf clean all;else yum clean all;fi
echo ">> 清除旧内核" package-cleanup --oldkernels --count=2
echo ">> 截断 journal 日志" journalctl --vacuum-time=14d
echo ">> 清空 /tmp 与 /var/tmp" rm -rf /tmp/* /var/tmp/*
echo ">> 卸载孤立软件包" if command –v dnf>/dev/null;n dnf autoremove –y;else yum autoremove –y;fi
echo "✅ CentOS 磁盘清理完成!"
此脚本可放入 cron 中自动运行,如每天凌晨四点执行。
按照这个方法。你可以彻底消除 CentOS 程序中的残留垃圾,让硬盘空间恢复、性能得到提高,并确保后续升级与维护过程顺畅无忧。祝你程序永远干爽、高效 🚀
CentOS程序在日常运维中。最让人头疼的莫过于硬盘空间瞬间被各种无用文件填满,导致性能下降、服务异常甚至崩溃。无论是软件升级留下的旧内核,还是日志堆积不清。亦或是临时目录里堆着的垃圾文件,都可能让程序变得臃肿不堪。
1️⃣ 查看磁盘使用情况——先定位“痛点”
在开始任何清理之前,先用 df -h 和 du -sh /* | sort -rh | head -n10 快速定位占用最多的分区与目录。如果 /var 或 /home 占比过高,往往代表着日志或使用者数据已堆积。
2️⃣ 清理包管理器缓存——释放数GB硬盘空间
# 对于 CentOS 7 及以下
sudo yum clean all
# 对于 CentOS 8+
sudo dnf clean all
这一步可以立即腾出 几 GB 的空间,而且不会影响程序正常运行。
3️⃣ 删除旧内核——避免“主要冗余”导致启动慢和安全风险
# 查看已安装内核
rpm -q kernel
# 保留最新两版。只删除其它旧版
sudo package-cleanup --oldkernels --count=2
请务必确认当前运行的是最新内核,再执行删除操作,以免误删导致启动失败。
a) 手动清除单个旧内核示例:
# 找到需要删除的旧版本
sudo yum remove kernel-3.x.x.x
4️⃣ 清理日志文件——消除 “磁盘膨胀” 与 “查询慢” 两大痛点
a) /var/log 日志手工清除:
# 列出最近30天未访问的日志
find /var/log -type f -mtime +30 -exec rm {} \;# 或者保留最近一周:
find /var/log -type f!-mtime +7 -delete
b) systemd 日志自动压缩与截断:
# 保留最近两周的journal日志
sudo journalctl --vacuum-time=14d
# 或保留总大小为500M
sudo journalctl --vacuum-size=500M
5️⃣ 清理临时文件夹—/tmp 与 /var/tmp—防止 “程序瘫痪” 痛点出现
# 强制一次彻底清空
sudo rm -rf /tmp/* /var/tmp/*
6️⃣ 自动卸载孤立软件包—减少“依赖碎片”与“占用空间”问题
a) YUM/DNF 自动卸载:
# 自动移除未被任何程序使用的依赖包
sudoyum autoremove # 或 dnf autoremove
# 若想连配置文件一起删掉:
sudoyum autoremove --purge # 或 dnf autoremove --purge
b) APT 程序示例:
# 查看将要移除的软件包
sudp apt autoremove --dry-run
# 确认后执行完整移除
sudp apt autoremove # 加上 --purge 同时删除配置
7️⃣ 删除不再需要的软件、服务与使用者—针对“资源浪费”痛点进行彻底净化
-
停用并禁用无用服务:
-
删除多余使用者及其主目录:
sudouserdel -r username && sudo groupdel groupname/>
-
MEN & Docker 镜像清理:
# Docker 镜像和容器: sudodocker system prune -a # Maven 本地仓库: sudorm ~/.m2/repository/*
8️⃣ 查找并删除大文件—解决“单个巨型文件撑起整个硬盘”的痛点
sudosudo find / -type f -size +100M -exec ls -lh {} \;# 列出大于100MB的文件
sudosudo find / -type f -size +100M -delete # 一键删除这些大文件
9️⃣ 使用第三方磁盘清理工具—让维护更可视化、更省心
-
Dedupe 工具:
sudopackage‑cleanup --oldkernels --count=1 # 自动保留最新一版内核,其余全部删掉
- AWS CloudShell & RDP 可直接查看树形结构;
-
说到Ncdu,
BleachBit:
⚠️ 注意事项 ⚠️
-
在执行任何删除命令前。请务必备份关键数据或至少先做一次完整快照。
建议每周或每月定期跑一次自动脚本。保持程序干净,说起来,
bash
echo "开始执行 CentOS 磁盘清理任务..."
echo ">> 清除 YUM/DNF 缓存" if command -v dnf>/dev/null;话说回来,n dnf clean all;else yum clean all;fi
echo ">> 清除旧内核" package-cleanup --oldkernels --count=2
echo ">> 截断 journal 日志" journalctl --vacuum-time=14d
echo ">> 清空 /tmp 与 /var/tmp" rm -rf /tmp/* /var/tmp/*
echo ">> 卸载孤立软件包" if command –v dnf>/dev/null;n dnf autoremove –y;else yum autoremove –y;fi
echo "✅ CentOS 磁盘清理完成!"
此脚本可放入 cron 中自动运行,如每天凌晨四点执行。
按照这个方法。你可以彻底消除 CentOS 程序中的残留垃圾,让硬盘空间恢复、性能得到提高,并确保后续升级与维护过程顺畅无忧。祝你程序永远干爽、高效 🚀

