清理包管理器缓存
CentOS的包管理器(YUM/DNF)会缓存下载的软件包和元数据,定期清理可释放磁盘空间。对于CentOS 7及以下版本,使用yum clean all
命令;CentOS 8及以上版本使用dnf clean all
命令。此外,可删除/var/cache/yum
目录下的残留缓存。
清理临时文件
系统临时文件(如/tmp
、/var/tmp
目录下的文件)通常无需保留,可使用rm -rf /tmp/*
和rm -rf /var/tmp/*
命令清理。注意:这些目录下的文件可能会被系统或应用程序重新创建,清理前无需备份。
清理日志文件
日志文件是磁盘空间占用的主要来源之一,可通过以下方法清理:
journalctl --vacuum-time=7d
删除7天前的日志,journalctl --vacuum-size=100M
限制日志总大小为100MB;/var/log
目录下旧的日志文件(如messages
、secure
、maillog
),或使用truncate -s 0 /var/log/<log_file>
清空特定日志文件(不删除文件本身);/etc/logrotate.conf
或/etc/logrotate.d/
下的配置文件,设置日志轮转策略(如每天轮转、保留7份旧日志、压缩旧日志),实现自动管理。清理系统缓存
系统缓存(页面缓存、目录项缓存、inode缓存)用于提升性能,但过度占用会影响磁盘空间。清理命令:sync
(同步数据到磁盘)后执行echo 3 > /proc/sys/vm/drop_caches
(清理所有缓存)。注意:清理后系统会重新建立缓存,可能导致短暂性能下降。
清理旧内核
旧内核版本会占用大量磁盘空间,可使用package-cleanup
工具保留最近2个内核版本,删除旧内核:sudo package-cleanup --oldkernels --count=2
。执行前需确认当前使用的内核版本(uname -r
),避免删除正在使用的版本。
清理应用程序缓存
常用应用程序(如BleachBit、Composer、Node.js)会生成缓存文件,可通过以下方式清理:
rm -rf /root/.composer/cache
;rm -rf /root/.npm
、rm -rf /home/*/.npm
。查找并删除大文件
使用du
和find
命令查找占用大量空间的文件或目录:
du -sh /*
查看根目录下各目录的大小;find / -type f -size +100M -exec ls -lh {} \;
查找大于100MB的文件;find / -type f -size +100M -exec rm -f {} \;
删除大于100MB的文件(谨慎使用,避免误删系统文件)。自动化清理脚本
可编写一键清理脚本(如clean_disk.sh
),整合上述常用清理步骤(如清理缓存、日志、临时文件、旧内核),定期执行(如每周一次)。脚本示例:
#!/bin/bash echo "开始清理磁盘..." # 清理包管理器缓存 if command -v dnf &>/dev/null; then sudo dnf clean all else sudo yum clean all fi # 清理journal日志(保留7天) sudo journalctl --vacuum-time=7d # 清理临时文件 sudo rm -rf /tmp/* /var/tmp/* # 清理旧内核 if command -v package-cleanup &>/dev/null; then sudo package-cleanup --oldkernels --count=2 fi echo "清理完成" df -h /
赋予执行权限后运行:chmod +x clean_disk.sh
,sudo ./clean_disk.sh
。