当前位置:首页 > 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)

# APT系列
sudo apt clean      # 删除所有已下载的.deb安装包
sudo apt autoclean  # 仅删除过期的安装包
# YUM/DNF
sudo dnf clean all
# Pacman
sudo pacman -Scc    # 清理软件包缓存

█ 方案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

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

sudo apt install bleachbit

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


高级技巧:释放隐藏空间

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

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

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

█ 缩减Docker磁盘占用

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

危险操作避坑指南 ️

  1. 切勿直接运行 rm -rf /rm -rf /*
    → 会导致系统立即崩溃!

  2. 谨慎删除 /usr, /lib, /bin 下文件
    → 可能破坏系统核心功能

  3. 生产环境禁止清空 /var/log 所有日志
    → 应使用 truncate 保留日志文件属性:

    sudo truncate -s 0 /var/log/syslog

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

█ 配置 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 -hncdu 定位问题分区
  2. 安全清理 → 优先清理 包缓存/日志/临时文件
  3. 深度清理 → 移除旧内核+扫描大文件
  4. 自动化 → 配置 logrotate + crontab
  5. 监控 → 设置磁盘报警(推荐 df + mailutils 邮件通知)

ℹ️ 引用说明

  • Linux手册页 (man df, man du)
  • Ubuntu官方文档:DiskSpace
  • Arch Wiki:系统维护
  • Red Hat建议:清理YUM缓存
0