温馨提示×

CentOS如何清理磁盘垃圾

小樊
54
2026-07-20 15:51:14
栏目: 智能运维

在 CentOS 系统中清理磁盘垃圾,可以从系统日志、缓存、旧内核、包管理器残留、无用文件等方面入手。下面按安全 → 进阶 → 危险的顺序给你一套实用方案。


一、快速查看磁盘占用

先确认哪里占用最多:

df -h

查看目录占用:

du -h --max-depth=1 / | sort -hr

二、安全清理(推荐先做)

1️⃣ 清理 YUM / DNF 缓存

CentOS 7 / 8 常用:

# CentOS 7
yum clean all

# CentOS 8 / Stream
dnf clean all

清理缓存目录:

rm -rf /var/cache/yum/*

2️⃣ 删除旧内核(非常有效)

⚠️ 至少保留一个正在使用的内核

查看当前内核:

uname -r

查看已安装内核:

rpm -qa | grep kernel

删除旧内核(CentOS 7):

package-cleanup --oldkernels --count=1

CentOS 8:

dnf remove --oldinstallonly

3️⃣ 清理系统日志(journalctl)

查看日志大小:

journalctl --disk-usage

只保留最近 3 天:

journalctl --vacuum-time=3d

或限制大小:

journalctl --vacuum-size=200M

4️⃣ 清理 /tmp 临时文件

rm -rf /tmp/*

⚠️ 不要删除 /tmp 目录本身


5️⃣ 清理用户缓存

rm -rf ~/.cache/*

三、进阶清理(谨慎)

6️⃣ 查找大文件

find / -xdev -type f -size +500M

常见“垃圾大户”:

  • /var/log
  • /var/lib/docker
  • /home/*/Downloads

7️⃣ 清理 Docker 垃圾(如已安装)

docker system prune -a

8️⃣ 清理未使用的依赖包

package-cleanup --leaves

确认后删除:

package-cleanup --orphans

四、危险操作(不建议新手)

❌ 直接删除:

  • /var/lib/mysql
  • /var/www
  • /etc
  • /usr

❌ 使用 rm -rf /rm -rf /*


五、一键清理脚本(安全版)

#!/bin/bash
echo "Cleaning yum cache..."
yum clean all
echo "Cleaning journal logs..."
journalctl --vacuum-time=3d
echo "Cleaning tmp..."
rm -rf /tmp/*
echo "Done."

六、推荐工具

  • ncdu(可视化磁盘分析)
yum install ncdu -y
ncdu /

如果你愿意,可以告诉我:

  • ✅ CentOS 版本(7 / 8 / Stream)
  • ✅ 磁盘占用情况(df -h 输出)
  • ✅ 是否跑 Docker / MySQL / Java 服务

我可以给你定制清理方案,避免误删重要数据。

0