CentOS磁盘满快速清理完整步骤
一、检查磁盘使用情况
使用以下命令确认磁盘分区占用率及大文件目录:
- df -h:查看各分区使用百分比、已用和可用空间。
- du -sh /* | sort -rh | head -10:从根目录开始,找出占用空间最大的前10个目录。
二、清理YUM缓存
YUM会保留下载的软件包缓存,长期累积占用大量空间。执行以下命令:
yum clean all该命令会清除所有缓存文件(/var/cache/yum/)。
三、清理系统日志
rsyslog、journald等日志文件常位于/var/log/下。推荐操作:
- 清空大日志文件:
truncate -s 0 /var/log/messages /var/log/secure(需根据实际文件调整)。 - 控制journal日志大小:
journalctl --vacuum-size=200M# 保留最近200MB日志journalctl --vacuum-time=7d# 保留最近7天日志 - 清理旧日志归档:
rm -rf /var/log/*.gz /var/log/*.old(谨慎操作,确认无害后再执行)。
四、清理临时文件
/tmp和/var/tmp目录存放临时文件,可安全删除:
rm -rf /tmp/*
rm -rf /var/tmp/*注意:切勿删除/tmp目录本身。
五、删除旧内核
系统升级后保留多个旧内核,占用/boot分区。使用以下命令清理:
package-cleanup --oldkernels --count=2该命令保留最近2个内核,删除其余旧内核。若系统使用dnf(CentOS 8+),替换为:dnf remove $(dnf repoquery --installonly --latest-limit=-2 -q)。
六、查找并清理大文件
定位超过特定大小的文件或目录:
- 查找大于100MB的文件:
find / -type f -size +100M -exec ls -lh {} \; - 检查各用户家目录:
du -sh /home/* | sort -rh | head - 清理不再使用的Docker镜像/容器(若使用Docker):
docker system prune -a -f
七、使用工具辅助分析
安装ncdu(交互式磁盘分析工具)可以直观地定位占用空间:
yum install ncdu -y && ncdu /在界面中可逐层查看目录占比,按d键删除不需要的文件。
八、重启服务或系统(可选)
部分日志文件需服务重启后才释放句柄:systemctl restart rsyslog;如果清理后仍有空间不足提示,可reboot彻底释放已删除但被进程占用的文件。
注意事项:清理前建议确认应用是否使用临时/日志目录;删除内容前可用du -sh确认空间占用,避免误删重要数据。