首先需要明确哪个分区或目录占用空间过大,使用以下命令快速定位:
df -h:查看各分区的磁盘使用情况(总容量、已用空间、可用空间及挂载点),重点关注Use%(使用百分比)高的分区(如/根分区)。du -sh /*:查看根目录下各一级目录的大小,快速定位占用空间大的目录(如/var、/home)。ncdu(推荐):交互式磁盘分析工具,更直观地展示目录大小及文件占用情况。安装命令:sudo yum install ncdu,运行后输入sudo ncdu /即可扫描整个系统。临时文件和缓存是磁盘空间的“常驻大户”,清理后可快速释放空间:
/tmp和/var/tmp目录:这两个目录存放临时文件,可直接删除(确保无正在运行的程序依赖这些文件):sudo rm -rf /tmp/* /var/tmp/*
/var/cache/yum或/var/cache/dnf目录空间:sudo yum clean all # YUM包管理器
sudo dnf clean all # DNF包管理器(CentOS 8及以上)
ibdata1文件),可通过对应应用的清理功能或手动删除。通过命令查找并删除占用空间大的文件(如旧备份、视频、日志等):
sudo find / -type f -size +100M -exec ls -lh {} \; # 列出所有大于100MB的文件
+100M改为+1G即可。/var/log目录下的大日志文件:sudo rm /var/log/large_log_file.log
日志文件(尤其是/var/log目录)会随时间增长占用大量空间,需定期清理:
journalctl清理系统日志:限制日志文件大小(如保留最近100MB):sudo journalctl --vacuum-size=100M
access.log(不会删除文件本身,仅清空内容):sudo truncate -s 0 /var/log/httpd/access.log
logrotate自动管理日志:编辑/etc/logrotate.conf配置文件,设置日志轮转周期(如每天、每周)和保留数量,避免日志无限增长。CentOS系统会保留多个旧内核版本(以备回滚),可通过以下命令清理:
rpm -qa | grep kernel
sudo package-cleanup --oldkernels --count=1 # 推荐(安全删除旧内核)
# 或手动删除(需确认内核版本)
sudo yum remove kernel-<旧版本号> # 如kernel-3.10.0-1160.el7.x86_64
卸载长期不用的软件包可释放其占用的空间:
sudo yum remove <软件包名> # 如sudo yum remove firefox
sudo yum autoremove # 删除不再需要的依赖包
若清理后仍空间不足,需扩展磁盘容量,常见方法如下:
fdisk创建新分区→格式化(mkfs)→挂载到指定目录。pvcreate(创建物理卷)、vgextend(扩展卷组)、lvextend(扩展逻辑卷)、xfs_growfs(扩展文件系统)快速扩容。/home、/var)挂载到新磁盘,减少原分区压力。/etc、/usr下的文件)可能导致系统无法启动,建议优先清理用户目录(/home)和日志文件。cron)定期清理临时文件、日志和缓存,避免再次出现空间不足问题。