YUM(CentOS 7及以下)或DNF(CentOS 8及以上)是CentOS的包管理工具,安装软件时会缓存元数据和RPM包,占用/var/cache/yum(CentOS 7)或/var/cache/dnf(CentOS 8+)目录空间。
# CentOS 7及以下
sudo yum clean all
# CentOS 8及以上
sudo dnf clean all
# CentOS 7及以下
sudo yum clean metadata
# CentOS 8及以上
sudo dnf clean metadata
/var/cache/yum或/var/cache/dnf中的.rpm文件):# CentOS 7及以下
sudo yum clean packages
# CentOS 8及以上
sudo dnf clean packages
/tmp(临时文件,重启后可能被清除)和/var/tmp(长期临时文件)是系统运行时生成的临时文件目录,易积累无用文件。
sudo rm -rf /tmp/*
sudo rm -rf /var/tmp/*
sudo find /tmp -type f -mtime +7 -exec rm -f {} \;
sudo find /var/tmp -type f -mtime +7 -exec rm -f {} \;
sudo find /tmp -type f -size +100M -exec rm -f {} \;
sudo find /var/tmp -type f -size +100M -exec rm -f {} \;
/usr/lib/tmpfiles.d/中的配置规则):sudo systemd-tmpfiles --clean
日志文件(如/var/log/messages、/var/log/secure)会随时间增长占用大量空间,可通过以下方式清理:
/var/log/messages):sudo cat /dev/null > /var/log/messages
sudo find /var/log -type f -name "*.log" -exec cat /dev/null {} \;
/etc/logrotate.conf或/etc/logrotate.d/下的配置文件,设置日志保留天数(如maxage 30表示保留30天)和压缩规则(如compress)。例如,添加以下内容到/etc/logrotate.d/myapp:/var/log/myapp/*.log {
daily
rotate 7
compress
missingok
notifempty
}
ncdu(NCurses Disk Usage)是可视化磁盘使用分析工具,可快速定位占用空间大的文件或目录。
sudo yum install ncdu # CentOS 7及以下
sudo dnf install ncdu # CentOS 8及以上
/):sudo ncdu /
按↑/↓键选择文件/目录,按Enter键进入子目录,按d键删除选中的文件/目录。通过cron定时任务定期执行清理操作,避免手动维护。
sudo crontab -e
0 2 * * * find /tmp -type f -mtime +7 -exec rm -f {} \; && find /var/tmp -type f -mtime +7 -exec rm -f {} \;
0 3 * * * find /var/log -type f -name "*.log" -mtime +30 -exec rm -f {} \;
rm -rf:该命令会强制删除文件且不提示确认,建议先使用ls命令查看目标文件。