一、清理系统临时文件
临时文件是系统运行过程中产生的无用文件,主要存放在/tmp(临时文件,重启后可能被清空)和/var/tmp(长期临时文件)目录。可使用以下命令彻底删除:
sudo rm -rf /tmp/* # 删除/tmp目录下所有文件及子目录
sudo rm -rf /var/tmp/* # 删除/var/tmp目录下所有文件及子目录
注意:执行前需确认目录内无正在使用的文件(如用户上传的临时文件),避免影响系统或应用运行。
二、清理包管理器缓存
包管理器(YUM/DNF)会缓存下载的软件包及元数据,占用大量磁盘空间。根据CentOS版本选择对应命令:
sudo yum clean all # 清理所有YUM缓存(包括软件包、元数据、过期缓存)
sudo dnf clean all # 清理所有DNF缓存(功能与YUM clean all类似)
清理后,下次安装软件时会重新下载缓存,但可释放当前占用的空间。
三、清理系统日志文件
日志文件(如/var/log/messages、/var/log/secure)会随时间积累,占用大量空间。可通过以下方式清理:
sudo journalctl --vacuum-time=7d # 删除7天前的所有日志
sudo journalctl --vacuum-size=100M # 限制日志总大小为100MB(超出部分删除)
sudo truncate -s 0 /var/log/*.log # 清空/var/log目录下所有.log文件
sudo rm -f /var/log/*.gz # 删除压缩的旧日志文件(.gz格式)
注意:清空日志前建议备份重要日志(如/var/log/messages),以便后续排查问题。
四、清理无用软件包及旧内核
yum autoremove(CentOS 7)或dnf autoremove(CentOS 8)自动删除不再被任何软件包依赖的无用包:sudo yum autoremove # CentOS 7
sudo dnf autoremove # CentOS 8+
/boot分区空间,保留最近2个内核即可(避免系统无法启动):sudo package-cleanup --oldkernels --count=2 # 仅保留2个最新内核
执行后,旧内核会被自动删除。五、清理Docker日志文件(若有Docker服务)
Docker容器的日志文件(如container_id-json.log)会持续增长,需定期清理:
sudo docker stop <container_id> # 替换<container_id>为实际容器ID
sudo truncate -s 0 /var/lib/docker/containers/<container_id>/<container_id>-json.log
sudo docker start <container_id>
注意:清空日志不会影响容器内数据,但会丢失之前的日志记录。
六、使用第三方工具深度清理
若需更全面的清理(如浏览器缓存、系统缓存、临时文件等),可使用图形化工具BleachBit:
sudo yum install bleachbit # CentOS 7
sudo dnf install bleachbit # CentOS 8+
sudo bleachbit # 打开图形界面,选择需清理的项目(如“系统缓存”“临时文件”“浏览器缓存”)
BleachBit支持自定义清理范围,适合不熟悉命令行的用户。
七、定期自动化清理
为避免垃圾文件反复积累,可设置定时任务(Cron Job)定期执行清理:
sudo crontab -e
0 3 * * * /usr/bin/rm -rf /tmp/*
Ctrl+X→Y→Enter确认,定时任务会自动生效。注意事项
/home目录、数据库文件),避免误删导致数据丢失。sync; echo 3 > /proc/sys/vm/drop_caches)会释放内存,但可能短暂影响系统性能(如加载速度),建议在系统空闲时执行。