温馨提示×

centos cleanup怎么实现

小樊
37
2026-08-19 03:59:59
栏目: 智能运维

CentOS 上做 cleanup(清理系统),通常目标是:
✅ 释放磁盘空间
✅ 删除无用包 / 缓存 / 日志
✅ 保持系统干净稳定

下面按 常用场景 给你一套实用方案(适用于 CentOS 7 / 8 / Stream)。


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

CentOS 7(yum)

yum clean all

CentOS 8 / Stream(dnf)

dnf clean all

清理内容:

  • 软件包缓存
  • 元数据
  • 过期仓库信息

二、删除无用的依赖包

CentOS 7

package-cleanup --oldkernels --count=1

CentOS 8 / Stream

dnf autoremove

✅ 删除:

  • 不再需要的依赖
  • 旧内核(保留当前 + 1 个)

三、清理旧内核(非常重要)

查看当前内核

uname -r

查看已安装内核

rpm -qa | grep kernel

删除旧内核(手动)

yum remove kernel-<version>

⚠️ 不要删除正在使用的内核


四、清理系统日志(journalctl)

查看日志占用

journalctl --disk-usage

只保留最近 3 天

journalctl --vacuum-time=3d

限制日志大小

journalctl --vacuum-size=500M

五、清理 /tmp 临时文件

rm -rf /tmp/*

或安全方式:

find /tmp -type f -atime +7 -delete

六、清理 Docker(如果用 Docker)

docker system prune -a

⚠️ 会删除:

  • 未使用的容器
  • 镜像
  • 网络
  • 构建缓存

七、查找大文件(定位“元凶”)

du -h / | sort -rh | head -20

或:

find / -xdev -size +500M

八、清理日志文件(/var/log)

cd /var/log
du -sh *

手动清理示例:

truncate -s 0 /var/log/messages
truncate -s 0 /var/log/secure

✅ 不建议直接 rm,用 truncate 更安全


九、一键清理脚本(推荐)

#!/bin/bash
echo "Cleaning yum/dnf cache..."
yum clean all || dnf clean all

echo "Removing unused packages..."
yum autoremove -y || dnf autoremove -y

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

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

echo "Done."

十、清理前建议

✅ 先看磁盘占用:

df -h

✅ 重要服务器 先备份
✅ 生产环境 不要一次性全清


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

  • ✅ CentOS 版本
  • ✅ 磁盘爆满还是日常维护
  • ✅ 是否 Docker / K8s / 数据库服务器

我可以给你 更精准的 cleanup 方案

0