温馨提示×

centos cleanup如何清理

小樊
66
2026-08-19 03:55:02
栏目: 智能运维

在 CentOS 上做 系统清理(cleanup),通常分几个层面:
包缓存、旧内核、日志、临时文件、磁盘空间分析。下面按常用场景给你一份实用清单(适用于 CentOS 7 / 8 / Stream)。


一、清理 YUM / DNF 缓存(最常见)

CentOS 7(yum)

# 查看缓存大小
du -sh /var/cache/yum

# 清理所有缓存
yum clean all

CentOS 8 / Stream(dnf)

dnf clean all

✅ 通常可释放 几百 MB~几 GB


二、删除旧内核(非常重要)

⚠️ 至少保留一个正在使用的内核,不要全删

查看当前内核

uname -r

查看已安装内核

rpm -qa | grep kernel

删除旧内核(CentOS 7)

yum remove kernel-<版本>

CentOS 8 / Stream

dnf remove kernel-<版本>

✅ 推荐:只保留 当前 + 一个备用内核


三、清理日志(journal / 应用日志)

1️⃣ systemd journal 日志

# 查看日志占用
journalctl --disk-usage

# 只保留最近 3 天
journalctl --vacuum-time=3d

# 限制最大 200M
journalctl --vacuum-size=200M

2️⃣ 普通日志

# 清理 /var/log
cd /var/log
ls -lh

# 清空大日志(不要直接删)
truncate -s 0 /var/log/messages
truncate -s 0 /var/log/secure

四、清理临时文件

# 清理 /tmp
rm -rf /tmp/*

# 清理用户缓存
rm -rf ~/.cache/*

⚠️ 注意:不要删 /tmp 中正在使用的文件


五、查找大文件(磁盘爆满必备)

# 查看磁盘使用
df -h

# 查找大于 500M 的文件
find / -xdev -size +500M -ls

# 按目录大小排序
du -h --max-depth=1 / | sort -hr

六、清理无用依赖包

CentOS 7

package-cleanup --oldkernels --count=2
yum autoremove

CentOS 8 / Stream

dnf autoremove

七、Docker / K8s 相关(如果你在用)

Docker

docker system df
docker system prune -a

Podman

podman system prune -a

八、一次性清理脚本(推荐)

#!/bin/bash
echo "Cleaning yum/dnf cache..."
yum clean all 2>/dev/null || dnf clean all

echo "Removing old kernels..."
package-cleanup --oldkernels --count=2 2>/dev/null

echo "Cleaning journal logs..."
journalctl --vacuum-time=7d

echo "Cleaning tmp..."
rm -rf /tmp/*

echo "Done."

九、清理前建议

df -h

先确认 哪个分区满了,再针对性清理,避免误删。


✅ 总结优先级

  1. yum/dnf clean all
  2. 删除旧内核
  3. journal 日志
  4. 查找大文件
  5. autoremove

如果你愿意,可以把下面信息发我,我可以给你 精准清理方案:

  • df -h
  • uname -r
  • CentOS 版本(7 / 8 / Stream)
  • 是否跑 Docker / MySQL / Java 服务

0 踩