上一篇
Linux磁盘爆满?快速释放空间简单方法
- Linux
- 2025-06-03
- 3591
清理磁盘空间可执行: ,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:
sudo apt install bleachbit
优势:
️ 可视化操作 ️ 预置清理方案 ️ 支持高级选项(如wipe空闲空间)
高级技巧:释放隐藏空间
█ 处理未释放的已删除文件
当进程占用已删除文件时:
# 查找被占用的空间 sudo lsof / | grep deleted # 重启相关服务或系统释放空间 sudo systemctl restart nginx
█ 缩减Docker磁盘占用
docker system prune -a --volumes # 删除停止的容器/镜像/卷
危险操作避坑指南 ️
-
切勿直接运行
rm -rf /
或rm -rf /*
→ 会导致系统立即崩溃! -
谨慎删除
/usr
,/lib
,/bin
下文件
→ 可能破坏系统核心功能 -
生产环境禁止清空
/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 -
最佳清理流程
- 诊断 → 使用
df -h
和ncdu
定位问题分区 - 安全清理 → 优先清理 包缓存/日志/临时文件
- 深度清理 → 移除旧内核+扫描大文件
- 自动化 → 配置 logrotate + crontab
- 监控 → 设置磁盘报警(推荐
df
+mailutils
邮件通知)
ℹ️ 引用说明
- Linux手册页 (
man df
,man du
)- Ubuntu官方文档:DiskSpace
- Arch Wiki:系统维护
- Red Hat建议:清理YUM缓存