CentOS系统垃圾快速清除方法
包管理器(yum/dnf)的缓存会占用大量磁盘空间,清理后可快速释放。
sudo yum clean all,清除所有yum缓存(包括已下载的RPM包和元数据)。sudo dnf clean all,功能与yum clean all类似,适配dnf包管理器。临时文件(如系统或用户运行程序生成的缓存)无长期保存价值,可安全删除。
sudo rm -rf /tmp/*(清理/tmp目录,系统重启后会自动清空,但手动清理可提前释放空间);sudo rm -rf /var/tmp/*(清理/var/tmp目录,保留时间较长,需手动处理)。rm -rf ~/.cache/*(清理当前用户的缓存)、rm -rf ~/.local/share/Trash/*(清空回收站)。find命令精准定位,如sudo find /tmp -type f -mtime +7 -exec rm -f {} \;(删除/tmp下7天前的临时文件)、sudo find /tmp -type f -size +100M -exec rm -f {} \;(删除/tmp下大于100MB的文件)。CentOS会保留多个旧内核版本,占用磁盘空间且无需保留。
运行sudo package-cleanup --oldkernels --count=1,保留最新的1个内核版本,删除其余旧内核(需root权限,操作前建议备份重要数据)。
日志文件(如/var/log下的access.log、error.log)会随时间增长占用大量空间。
sudo truncate -s 0 /var/log/*.log(清空所有.log格式的日志文件);sudo journalctl --vacuum-time=3d(删除3天前的系统日志)。logrotate工具管理日志轮转(默认配置位于/etc/logrotate.conf),可设置日志文件大小或时间阈值,自动压缩/删除旧日志。通过磁盘分析工具快速定位占用空间大的文件,针对性清理。
sudo yum install ncdu(CentOS 7)或sudo dnf install ncdu(CentOS 8+),运行sudo ncdu /扫描根目录,界面中选择大文件或目录按d键删除。sudo find / -type f -size +100M -exec ls -lh {} \;(列出所有大于100MB的文件),确认后删除无用文件。卸载软件后,残留的依赖包会占用空间,可通过以下命令清理:
sudo yum autoremove(自动删除不再被任何软件包依赖的无用包)。sudo dnf autoremove(功能同yum autoremove,适配CentOS 8+)。系统缓存(页面缓存、目录项缓存)可提升性能,但占用内存时可手动清理(清理后可能短暂影响性能,建议在内存充足时操作):
运行sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches,清除页面缓存、目录项缓存和inode缓存。