温馨提示×

centos怎样清理系统垃圾

小樊
43
2025-10-02 22:04:46
栏目: 智能运维

清理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而非/)。
  • 定期清理:建议每月执行1-2次清理,避免垃圾文件堆积。
  • 避免频繁清理缓存:系统缓存能提升性能,仅在磁盘空间不足时清理。

0