温馨提示×

怎样优化CentOS清理步骤

小樊
43
2026-08-30 05:55:01
栏目: 智能运维

在 CentOS 系统中,优化清理步骤可以从自动化、安全性、覆盖维度、可恢复性四个方面入手。下面给你一套实用且可落地的优化方案,适用于 CentOS 7 / 8(Stream 也适用)。


一、先明确:清理目标是哪些?

优化前先分类,避免“乱删”:

类型 举例
软件包缓存 yum / dnf 缓存
日志文件 /var/log
临时文件 /tmp、/var/tmp
废弃内核 旧 kernel
无用依赖 孤立包
大文件 未被注意的大文件
Docker / 容器 镜像、卷

二、基础清理(必做,安全)

1️⃣ 清理 yum / dnf 缓存

# CentOS 7
yum clean all

# CentOS 8 / Stream
dnf clean all

✅ 可定期执行
✅ 安全、无风险


2️⃣ 删除旧内核(非常重要)

⚠️ 只保留当前使用内核

# 查看当前内核
uname -r

# 查看已安装内核
rpm -qa | grep kernel

# 删除旧内核(CentOS 8)
dnf remove --oldinstallonly

CentOS 7 可用:

package-cleanup --oldkernels --count=1

✅ 可避免 /boot 爆满
✅ 推荐加入定期任务


3️⃣ 清理日志(journal / 普通日志)

Journal 日志

journalctl --vacuum-time=7d
journalctl --vacuum-size=500M

传统日志

find /var/log -type f -name "*.log" -mtime +30 -delete

✅ 避免日志占满磁盘
✅ 建议保留 30 天


4️⃣ 清理临时文件

rm -rf /tmp/*
rm -rf /var/tmp/*

⚠️ 避免删除正在使用的 socket / pid 文件
✅ 可放在重启后执行


三、进阶优化(更高效)

5️⃣ 删除无用依赖包

# CentOS 7
yum autoremove

# CentOS 8+
dnf autoremove

✅ 减少系统冗余
✅ 每次卸载软件后执行


6️⃣ 查找并清理大文件

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

常用清理目标:

  • core dump
  • 旧 SQL / 备份
  • 临时下载文件

✅ 精确清理,避免误删


7️⃣ Docker / 容器环境(如有)

docker system prune -f
docker volume prune -f

✅ 非常有效
⚠️ 会删除未使用镜像


四、自动化清理(优化核心)

8️⃣ 使用 systemd 定时器(推荐)

CentOS 7+ 自带:

systemctl enable --now dnf-automatic.timer

编辑配置:

vim /etc/dnf/automatic.conf
apply_updates = yes

✅ 自动更新 + 清理
✅ 企业环境友好


9️⃣ 定时任务(cron)

crontab -e

示例(每周日凌晨 3 点):

0 3 * * 0 yum clean all && journalctl --vacuum-time=7d

五、清理前的安全策略(强烈推荐)

✅ 1. 先查看,再删除

df -h
du -sh /*

✅ 2. 做好快照 / 备份

  • 虚拟机:快照
  • 物理机:/etc + 重要数据

✅ 3. 使用白名单

明确不清理:

  • /var/log/audit
  • /var/lib/mysql
  • /data

六、推荐的“标准清理流程”(总结)

# 1. 查看磁盘
df -h

# 2. 清理缓存
dnf clean all

# 3. 删除旧内核(保留1个)
dnf remove --oldinstallonly

# 4. 删除无用依赖
dnf autoremove

# 5. 清理日志
journalctl --vacuum-time=7d

# 6. 清理临时文件
rm -rf /tmp/*

# 7. 再次检查
df -h

七、如果你愿意,我可以进一步帮你:

  • ✅ 定制 CentOS 清理脚本
  • ✅ 针对 服务器 / 桌面 / Docker 主机 优化
  • ✅ 分析你当前磁盘占用(贴 df -h 输出)
  • ✅ 写 Ansible / Shell 自动化方案

只要告诉我你的 CentOS 版本 + 使用场景 即可。

0