温馨提示×

怎么清理CentOS系统冗余

小樊
38
2026-07-08 22:05:19
栏目: 智能运维

清理 CentOS 系统冗余可以从已安装软件、缓存、日志、内核、陈旧文件等多个维度进行。下面按安全 → 进阶 → 注意项的顺序给你一份实用清单,适用于 CentOS 7 / 8 / Stream


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

1. 清理 YUM / DNF 缓存

# CentOS 7
yum clean all

# CentOS 8 / Stream
dnf clean all

删除缓存目录(可选):

rm -rf /var/cache/yum/*
rm -rf /var/cache/dnf/*

2. 删除无用的依赖包

# CentOS 7
yum autoremove

# CentOS 8 / Stream
dnf autoremove

✅ 会删除不再被任何软件依赖的包


3. 清理旧内核(⚠️重要)

CentOS 更新后会保留多个内核,占用 /boot

查看当前内核

uname -r

查看已安装内核

# CentOS 7
rpm -qa | grep kernel

# CentOS 8
dnf list installed kernel

删除旧内核(保留当前)

# CentOS 7
package-cleanup --oldkernels --count=1
# CentOS 8 / Stream
dnf remove $(dnf repoquery --installonly --latest-limit=-1 -q)

二、清理日志文件

1. journal 日志

journalctl --disk-usage
journalctl --vacuum-time=7d

或限制大小:

journalctl --vacuum-size=500M

2. 系统日志

du -sh /var/log/*

手动清理大日志:

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

⚠️ 不建议直接 rm,可用 truncate


三、清理临时文件

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

定期清理(建议):

systemctl enable --now systemd-tmpfiles-clean.timer

四、查找大文件(定位冗余)

查找大于 500MB 的文件

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

查看目录占用

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

五、清理 Docker(如使用)

docker system df
docker system prune -a

⚠️ 会删除未使用的镜像、容器、网络


六、清理用户缓存

rm -rf ~/.cache/*

七、检查并清理无用服务

systemctl list-unit-files --type=service | grep enabled

关闭无用服务:

systemctl disable 服务名
systemctl stop 服务名

八、不建议做的事 ❌

  • 直接删除 /usr/lib
  • 随意删除 /var
  • 在服务器上不清空确认就 rm

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

#!/bin/bash
echo "清理 yum/dnf 缓存"
yum clean all 2>/dev/null
dnf clean all 2>/dev/null

echo "删除无用依赖"
yum autoremove -y 2>/dev/null
dnf autoremove -y 2>/dev/null

echo "清理临时文件"
rm -rf /tmp/* /var/tmp/*

echo "清理 journal 日志"
journalctl --vacuum-time=7d

echo "Done"

给你定制建议?

你可以告诉我:

  • ✅ CentOS 版本
  • ✅ 是 物理机 / 云服务器
  • ✅ 磁盘主要用于(Web / Docker / 数据库)

我可以给你更精准、最小风险的清理方案

0