CentOS全面清理系统指南
全面清理CentOS系统需从临时文件、缓存、无用软件、日志、旧内核、大文件等多维度入手,以下是具体步骤及注意事项:
临时文件主要存储在/tmp(系统临时文件)和/var/tmp(长期临时文件)目录,定期清理可释放大量空间。
rm -rf命令递归删除目录内容(操作前需确认目录无正在使用的文件):sudo rm -rf /tmp/* /var/tmp/*
systemd-tmpfiles(CentOS 7+原生支持)或tmpwatch(需安装)按时间/大小清理:
systemd-tmpfiles:直接运行sudo systemd-tmpfiles --clean,会根据/etc/tmpfiles.d/下的配置自动清理;tmpwatch:安装后(sudo yum install tmpwatch),添加cron任务(如每天凌晨2点清理7天未修改的/tmp文件):sudo crontab -e
# 添加以下行
0 2 * * * /usr/sbin/tmpwatch 7d /tmp
包管理器(YUM/DNF)的缓存会占用/var/cache/yum(CentOS 7及以下)或/var/cache/dnf(CentOS 8及以上)空间,清理可释放磁盘。
sudo yum clean all # 清理所有缓存(元数据、RPM包等)
sudo dnf clean all # 功能同YUM,适用于新版本
sudo rm -rf /var/cache/yum/* # CentOS 7及以下
sudo rm -rf /var/cache/dnf/* # CentOS 8及以上
系统中残留的无用软件包(如卸载软件后剩下的依赖)会增加磁盘占用,需自动检测并删除。
sudo yum autoremove # CentOS 7及以下,自动删除无用依赖
sudo dnf autoremove # CentOS 8及以上,功能同上
日志文件(如/var/log/messages、/var/log/secure)会随时间增长占用大量空间,可通过以下方式管理:
sudo truncate -s 0 /var/log/syslog # 清空syslog(Ubuntu风格,CentOS常用messages/secure)
sudo rm -f /var/log/messages /var/log/secure # 直接删除(谨慎操作,需确认不影响系统)
sudo journalctl --vacuum-time=7d # 删除7天前的日志
sudo journalctl --vacuum-size=100M # 限制日志总大小为100MB
/etc/logrotate.conf,添加以下规则(每日轮转、保留7份、压缩旧日志):/var/log/*.log {
daily
missingok
rotate 7
compress
notifempty
create 0640 root root
}
CentOS会保留旧内核以确保系统可回滚,但过多旧内核会占用/boot分区空间,需定期删除。
rpm -q kernel # 列出所有内核版本
sudo package-cleanup --oldkernels --count=1 # 自动删除除最新外的所有旧内核
# 或手动指定内核版本(如删除kernel-3.10.0-1160.el7.x86_64)
sudo yum remove kernel-3.10.0-1160.el7.x86_64
通过命令查找系统中占用空间大的文件(如大于100MB),手动删除不再需要的文件。
# 查找根目录下大于100MB的文件
sudo du -sh /* | sort -h
sudo find / -type f -size +100M -exec ls -lh {} \;
# 删除确认无用的大文件(如某目录下的备份文件)
sudo rm -f /path/to/large_file
sudo userdel username # 删除用户(需确认用户无活动进程)
sudo groupdel groupname # 删除组
rm -rf ~/.mozilla/firefox/*/Cache/* # 删除Firefox缓存
sudo yum install bleachbit -y # 安装
sudo bleachbit # 启动(需图形界面)
sudo yum install system-cleaner -y # 安装
sudo system-cleaner # 启动
sudo crontab -e
# 添加以下行
0 2 * * 0 /usr/bin/yum clean all && /usr/bin/yum autoremove -y && /usr/sbin/systemd-tmpfiles --clean
/home、/etc等关键目录,防止误删导致数据丢失。注意事项:
rm -rf命令时需确认目录路径,避免误删系统关键文件(如/etc、/boot);