清理磁盘空间

你当前的磁盘使用情况如下:

复制代码
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   46G   36G  9.8G  79% /

当前根目录 / 已使用 79% ,空间已经较为紧张。以下是一些常用的 清理磁盘空间的方法,你可以按需选择:


✅ 1. 清理系统缓存(最安全、推荐先做)

清理 PageCache、目录项和 inode 缓存:

bash 复制代码
sync; echo 3 > /proc/sys/vm/drop_caches

📌 说明:这个命令是安全的,不会影响正在运行的程序,只是释放内核的缓存。


✅ 2. 清理 YUM 缓存(适用于 CentOS/RHEL)

bash 复制代码
yum clean all

或者:

bash 复制代码
rm -rf /var/cache/yum/*

✅ 3. 清理 Docker 占用空间(如果你使用 Docker)

删除所有停止的容器:

bash 复制代码
docker container prune

删除所有未使用的镜像(悬空镜像):

bash 复制代码
docker image prune -a

删除未使用的卷和网络:

bash 复制代码
docker volume prune
docker network prune

清理所有未使用的 Docker 对象:

bash 复制代码
docker system prune -a

✅ 4. 查看大文件和占用空间的目录

bash 复制代码
du -ah /path/to/dir | sort -h

例如查看根目录下哪些目录占用空间最多:

bash 复制代码
du -sh /* 2>/dev/null

常见清理目标:

  • /var/log/:日志文件,可删除旧日志或使用 logrotate
  • /tmp/:临时文件
  • /root/.cache/:用户缓存
  • /home/*/.cache/:其他用户缓存
  • /var/cache/:系统缓存

✅ 5. 清理旧的系统日志(/var/log/)

bash 复制代码
journalctl --vacuum-time=7d    # 保留最近7天的日志

或者:

bash 复制代码
rm -f /var/log/*.log.*         # 删除压缩日志
rm -f /var/log/messages-*      # 删除历史 messages 日志

⚠️ 操作前建议备份重要日志。


✅ 6. 删除不再使用的软件包

bash 复制代码
package-cleanup --leaves

或者手动删除:

bash 复制代码
yum remove <package-name>

✅ 7. 扩容磁盘(终极方案)

如果磁盘空间确实不足,考虑以下方式扩容:

  • 扩展 LVM 卷
  • 挂载新磁盘到 /var/home
  • 使用外部存储(如 NAS、OSS、S3)

✅ 推荐操作顺序(安全 + 高效):

  1. sync; echo 3 > /proc/sys/vm/drop_caches
  2. docker system prune -a(如果使用 Docker)
  3. du -sh /* 找出占用空间大的目录清理
  4. 清理 /var/log/ 中的旧日志
  5. 删除无用软件包或缓存

示例命令汇总:

bash 复制代码
# 清理内存缓存
sync; echo 3 > /proc/sys/vm/drop_caches

# 清理 Docker
docker system prune -a

# 查看磁盘占用情况
du -sh /* 2>/dev/null

# 清理日志
journalctl --vacuum-time=7d
rm -f /var/log/*.log.* /var/log/messages-*

# 清理 yum 缓存
yum clean all && rm -rf /var/cache/yum/*

如果你需要我帮你分析具体哪个目录占用了大量空间,请运行:

bash 复制代码
du -sh /var/* /root/* /home/* /opt/* 2>/dev/null | sort -h

然后将输出贴出来,我可以帮你进一步定位清理目标。

相关推荐
python百炼成钢3 小时前
10.串口
linux·stm32·单片机·嵌入式硬件
Lzc7745 小时前
Linux网络的HTTPS
linux·https
我爱钱因此会努力6 小时前
ansible自动化运维入门篇
linux·运维·服务器·centos·自动化·ansible
---学无止境---7 小时前
Linux中系统调用sys_symlink和sys_unlink函数的实现
linux
代码程序猿RIP7 小时前
【Etcd 】Etcd 详解以及安装教程
linux·数据库·etcd
tb_first8 小时前
Linux入门1(2/2)
linux
cellurw8 小时前
Day72 传感器分类、关键参数、工作原理与Linux驱动开发(GPIO/I²C/Platform/Misc框架)
linux·c语言·驱动开发
NextZeros8 小时前
基于CentOS安装LNMP
linux·centos
梁萌8 小时前
Linux安装mysql8.4.6
linux·运维·mysql安装·8.4.6
gtr20208 小时前
Ubuntu24.04 无法读取 U盘
linux