清理YUM/DNF缓存
YUM(CentOS 7及以下)或DNF(CentOS 8及以上)是CentOS的包管理工具,安装软件时会缓存下载的包和元数据,占用/var/cache/yum或/var/cache/dnf目录空间。使用以下命令清理:
# CentOS 7及以下(YUM)
sudo yum clean all
# CentOS 8及以上(DNF)
sudo dnf clean all
删除临时文件
系统临时文件存放在/tmp(临时文件,重启后可能被清除)和/var/tmp(长期临时文件)目录,可通过以下命令清理:
# 删除/tmp目录下所有文件(谨慎使用,避免删除正在使用的文件)
sudo rm -rf /tmp/*
# 删除/var/tmp目录下所有文件
sudo rm -rf /var/tmp/*
# 更安全的做法:删除7天前的临时文件(避免误删)
sudo find /tmp -type f -mtime +7 -exec rm -f {} \;
sudo find /var/tmp -type f -mtime +7 -exec rm -f {} \;
清理日志文件
日志文件(如/var/log/messages、/var/log/secure)会随时间增长占用大量空间,可通过以下方式清理:
# 使用journalctl清理系统日志(删除7天前的日志)
sudo journalctl --vacuum-time=7d
# 手动清空特定日志文件(如messages、secure)
sudo truncate -s 0 /var/log/messages
sudo truncate -s 0 /var/log/secure
# 使用logrotate工具(自动轮转日志,需提前配置)
sudo logrotate -f /etc/logrotate.conf
清理无用软件包及旧内核
卸载不再需要的软件包,并清理旧内核以释放空间:
# 卸载指定软件包(如httpd)
sudo yum remove httpd # CentOS 7及以下
sudo dnf remove httpd # CentOS 8及以上
# 自动删除无用依赖(不再被任何软件包需要的依赖)
sudo yum autoremove # CentOS 7及以下
sudo dnf autoremove # CentOS 8及以上
# 清理旧内核(保留最近2个内核版本,避免系统无法启动)
sudo package-cleanup --oldkernels --count=2
清理系统缓存
系统缓存(页面缓存、目录项缓存等)用于提升性能,但占用过多空间时可手动清理(清理后可能短暂影响性能,系统会自动重建):
# 同步磁盘数据(确保数据写入硬盘)
sudo sync
# 清理页面缓存、目录项缓存、inode缓存(最常用)
echo 3 | sudo tee /proc/sys/vm/drop_caches
使用第三方工具(可选)
若需要图形化界面或更全面的清理,可使用bleachbit工具:
# 安装BleachBit
sudo yum install bleachbit
# 运行BleachBit(选择清理项目,如缓存、临时文件、日志)
sudo bleachbit
注意事项
/home、/etc等关键目录,避免误删。rm -rf:该命令会强制删除文件,确保目标目录正确(如/tmp而非/)。