当前位置:首页 > Linux > 正文

Linux磁盘爆满?快速释放空间简单方法

清理磁盘空间可执行: ,1. 删除大文件及日志: sudo find /var/log -type f -size +100M -delete ,2. 清理软件缓存: sudo apt clean (Debian/Ubuntu) 或 sudo dnf clean all (Fedora) ,3. 移除无用依赖包: sudo apt autoremove / sudo dnf autoremove ,定期检查大文件: du -sh /* | sort -rh 释放宝贵空间。

### 一、为什么需要定期清理Linux磁盘空间? 当Linux系统磁盘使用率超过85%时,可能导致: - 系统运行卡顿,服务崩溃 - 无法安装更新或新软件 - 日志写入失败引发程序错误 - 甚至触发只读模式保护机制 通过以下方法,可安全释放数GB至数十GB空间⬇️ --- ### 二、第一步:诊断磁盘使用情况(关键!) #### █ 1. 查看全局磁盘占用 ```bash df -h # 显示所有挂载点使用率

重点观察、/home、/var 分区

█ 2. 定位大文件/目录

# 扫描根目录下前10大文件 sudo du -sh /* 2>/dev/null | sort -rh | head -10 # 交互式可视化分析(需安装ncdu) sudo ncdu /

操作提示

按d删除选中项 | 按n按文件名排序 | 查看帮助


六大安全清理方案(附详细命令)

█ 方案1:清理包管理器缓存

适用于:Debian/Ubuntu (apt), RedHat/CentOS (yum/dnf), Arch (pacman)

█ 方案2:移除无用旧内核

# 查看已安装内核 dpkg --list | grep linux-image # 删除旧内核(保留当前和上一个版本) sudo apt purge linux-image-5.4.0-xx-generic

█ 方案3:清理日志文件

# 查看/var/log大小 sudo du -sh /var/log # 清空非关键日志(不影响运行中服务) sudo journalctl --vacuum-size=200M # 限制日志最大200MB sudo rm /var/log/*.log.* # 删除轮转后的旧日志

█ 方案4:删除临时文件

# 清理/tmp目录(重启后自动清除) sudo rm -rf /tmp/* # 清理用户缓存 rm -rf ~/.cache/*

█ 方案5:查找并删除重复文件

# 安装fdupes工具 sudo apt install fdupes # 扫描当前目录重复文件 fdupes -r . # 确认后手动删除

█ 方案6:使用图形化工具(适合新手)

安装 BleachBit

sudo apt install bleachbit

优势

️ 可视化操作 ️ 预置清理方案 ️ 支持高级选项(如wipe空闲空间)

Linux磁盘爆满?快速释放空间简单方法 第1张

高级技巧:释放隐藏空间

█ 处理未释放的已删除文件

当进程占用已删除文件时:

# 查找被占用的空间 sudo lsof / | grep deleted # 重启相关服务或系统释放空间 sudo systemctl restart nginx

█ 缩减Docker磁盘占用

docker system prune -a --volumes # 删除停止的容器/镜像/卷


危险操作避坑指南 ️

  1. 切勿直接运行 rm -rf / 或 rm -rf /*

    → 会导致系统立即崩溃!

  2. 谨慎删除 /usr, /lib, /bin 下文件

    → 可能破坏系统核心功能

    Linux磁盘爆满?快速释放空间简单方法 第2张

  3. 生产环境禁止清空 /var/log 所有日志

    → 应使用 truncate 保留日志文件属性:

    sudo truncate -s 0 /var/log/syslog

  4. 预防措施:建立自动清理机制

    █ 配置 logrotate(日志自动轮转)

    编辑 /etc/logrotate.conf,示例配置:

    /var/log/nginx/*.log { daily missingok rotate 14 # 保留14天 compress delaycompress notifempty create 0640 www-data adm }

    █ 定时清理任务(Crontab)

    每月1号清理APT缓存:

    # 添加计划任务 (crontab -l ; echo "0 0 1 * * apt-get -y autoclean") | crontab -


    最佳清理流程

    1. 诊断 → 使用 df -h 和 ncdu 定位问题分区
    2. 安全清理 → 优先清理 包缓存/日志/临时文件
    3. 深度清理 → 移除旧内核+扫描大文件
    4. 自动化 → 配置 logrotate + crontab
    5. 监控 → 设置磁盘报警(推荐 df + mailutils 邮件通知)

    ℹ️ 引用说明

    Linux磁盘爆满?快速释放空间简单方法 第3张

0