1. 清理包管理器缓存
包管理器(YUM/DNF)会缓存下载的软件包及元数据,占用/var/cache/yum(CentOS 7及以下)或/var/cache/dnf(CentOS 8及以上)目录空间。通过以下命令清理:
sudo yum clean all(清理所有缓存,包括已下载的RPM包、临时文件);sudo dnf clean all(功能与YUM类似,适配新版本包管理器)。2. 清理系统临时文件
系统临时文件存储在/tmp(全局临时文件)、/var/tmp(长期临时文件)及用户目录(~/.cache/、~/.local/share/Trash/)中,包含缓存、日志、下载残留等无用数据。清理方法:
sudo rm -rf /tmp/*(清理全局临时文件)、rm -rf ~/.cache/*(清理当前用户缓存)、rm -rf ~/.local/share/Trash/*(清理回收站);crontab -e添加0 3 * * * root rm -rf /tmp/*(每天凌晨3点清理/tmp),避免临时文件堆积;sudo systemd-tmpfiles --clean(根据系统配置自动清理临时文件),更安全且符合系统规范。3. 清理日志文件
日志文件(如/var/log/messages、/var/log/httpd/access.log)会随时间增长占用大量空间,尤其是高流量服务器。清理方法:
truncate -s 0 /var/log/large.log(将指定日志文件清空,保留文件结构);find /var/log -type f -name "*.log" -mtime +30 -exec rm -f {} \;(删除30天前的.log文件);logrotate工具(默认启用),通过/etc/logrotate.conf配置日志分割、压缩及保留策略(如weekly每周轮转、compress压缩旧日志、maxage 90保留90天),实现自动化管理。4. 删除孤立包与旧内核
package-cleanup工具查找并删除:package-cleanup --quiet --leaves --exclude-bin | xargs yum remove -y(--leaves标记孤立包,--exclude-bin排除二进制文件);/boot分区负担,可通过package-cleanup删除除最新2个外的旧内核:package-cleanup --oldkernels --count=2(--count=2保留2个最新内核)。5. 回收系统内存缓存
Linux系统会缓存文件数据(页面缓存、目录项缓存、inode缓存)以提高性能,但内存不足时会自动释放。若需手动回收,可使用以下命令:
sudo sync(将未写入磁盘的缓存数据写入磁盘,避免数据丢失);echo 3 | sudo tee /proc/sys/vm/drop_caches(3表示清理页面缓存、目录项缓存、inode缓存)。6. 使用第三方工具辅助清理
sudo yum install bleachbit,运行:sudo bleachbit;sudo yum install ncdu,运行:ncdu /(扫描根目录)。7. 自动化定期清理
通过crontab设置定时任务,实现清理自动化,减少手动操作。示例:
sudo crontab -e;0 2 * * * /usr/bin/yum clean all
0 2 * * * /usr/bin/find /tmp -type f -mtime +7 -exec rm -f {} \;
0 3 * * 0 /usr/bin/journalctl --vacuum-time=2weeks
定时任务需根据系统实际情况调整(如清理频率、保留时间),避免过度清理影响系统运行。