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

Ubuntu系统瘦身实战:精准定位并清理八大空间占用源

1. 空间侦探:快速定位Ubuntu磁盘空间元凶

刚装完系统时Ubuntu跑得飞快,用着用着就开始卡顿?打开文件管理器一看,红色警告条赫然显示"磁盘空间不足"。别急着买新硬盘,跟着我一步步揪出那些偷偷吃掉空间的"大胃王"。

图形化侦查利器:在Ubuntu 18.04及以上版本,点击左下角"显示应用程序"→"工具"→"Disk Usage Analyzer"(中文叫"磁盘用量分析器"),这个可视化工具会用彩色块直观展示各目录占用比例。我习惯先看/home/var这两个重灾区,它们经常藏着意想不到的空间杀手。

终端高手专用:打开终端输入baobab也能启动图形工具。更硬核的做法是用du -sh *命令层层排查:

cd / # 切换到根目录 du -sh * | sort -h # 按人类可读格式排序

最近帮同事排查时,发现他的/var目录居然占了120GB,用这个命令最终锁定是Docker容器日志疯狂增长。

进阶技巧ncdu工具比原生命令更强大,安装后运行:

sudo apt install ncdu ncdu / # 扫描整个根目录

它能交互式浏览目录,按大小排序,直接删除文件(谨慎操作!)。上周我用它在一个月没清理的服务器上腾出47GB空间。

2. 系统日志清理:从GB到MB的魔法

/var/log/journal/里的系统日志就像不会自动删除的监控录像,我的生产服务器曾因日志堆积导致根目录爆满。用这三个命令掌握日志生杀大权:

查看当前日志体积

journalctl --disk-usage

典型输出:Journals take up 1.7G in the file system.

时间剪刀手(保留最近7天):

sudo journalctl --vacuum-time=7d

空间剪刀手(限制最大500MB):

sudo journalctl --vacuum-size=500M

紧急清场(慎用!):

sudo rm -rf /var/log/journal/* sudo systemctl restart systemd-journald

注意:关键生产环境建议保留至少1周日志。我曾误删全部日志后遇到故障,排查时追悔莫及。

3. 缓存大扫除:缩略图与包缓存的清理

~/.cache就像浏览器的临时文件夹,里面藏着各种缓存:

缩略图清理

du -sh ~/.cache/thumbnails # 先查看大小 rm -rf ~/.cache/thumbnails/* # 清空

我的笔记本上这个目录曾积累3.2GB缩略图,清理后系统响应明显加快。

APT包缓存

sudo apt clean # 清空下载的.deb安装包 sudo apt autoclean # 只删除旧版本包

最近升级到Ubuntu 24.04后,/var/cache/apt/archives里残留的旧版包吃掉了5GB空间。

虚拟机特别提示:VMware用户记得清理拖放缓存:

rm -rf ~/.cache/vmware/drag_and_drop/*

4. 旧内核清理:给/boot分区瘦身

Ubuntu自动更新会保留旧内核,导致/boot分区爆满。按这个安全流程操作:

第一步:确认当前内核(千万别删错!)

uname -r # 输出示例:5.15.0-78-generic

第二步:列出所有内核

dpkg --list | grep linux-image

第三步:安全删除旧内核(保留最近2个版本):

sudo apt purge linux-image-5.15.0-{72,74}-generic

最后更新引导

sudo update-grub

我见过最夸张的案例是/boot被30多个旧内核塞满,清理后腾出1.8GB空间。建议设置自动清理:

sudo apt-mark auto 'linux-image-*' # 标记为自动卸载 sudo apt autoremove # 自动移除无用包

5. VSCode缓存清理:IPCH文件的末日

开发者注意!VSCode的C++插件会生成巨大的IPCH缓存:

定位缓存位置

du -sh ~/.cache/vscode-cpptools/ipch/

我的一个项目缓存竟然达到12GB,相当于项目代码的60倍!

永久解决方案:修改VSCode设置

  1. Ctrl+,打开设置
  2. 搜索C_Cpp.intelliSenseCacheSize
  3. 将默认值5120改为512(单位MB)

紧急清理

rm -rf ~/.cache/vscode-cpptools/ipch/*

注意:删除后首次打开项目会稍慢,因为要重建缓存。

6. Conda环境清理:科学计算的存储陷阱

Anaconda/Miniconda的pkgs目录是隐形空间杀手:

查看缓存大小

du -sh ~/anaconda3/pkgs/

安全清理四连击

conda clean -p # 删除无用包 conda clean -t # 删除tar压缩包 conda clean -a # 强力模式 conda clean --packages # 删除孤立包

预防性建议

conda config --set auto_clean_pkgs True # 开启自动清理

我的深度学习环境经过这样清理,从87GB缩减到34GB。

7. Snap应用清理:沙盒的存储代价

Snap应用的只读设计导致空间无法自动回收:

查看Snap占用

du -sh /var/lib/snapd/

彻底卸载(谨慎操作):

sudo apt autoremove --purge snapd

折中方案:只清理旧版本

sudo snap set system refresh.retain=2 # 只保留2个版本 sudo snap refresh # 触发清理

8. Pip缓存清理:Python开发者的隐藏账单

Python包的缓存可能悄无声息占满空间:

查看缓存

ls ~/.cache/pip/

清理命令

rm -rf ~/.cache/pip/*

永久配置:在~/.config/pip/pip.conf添加:

[global] no-cache-dir = true

记得定期运行pip cache purge。上次清理为我省出6GB空间,足够安装三个新虚拟环境。

http://www.gsyq.cn/news/1646704.html

相关文章:

  • Linux日志系统-03:logrotate子配置文件实战与最佳实践
  • 抖音音频批量提取完整教程:3步免费获取海量音乐原声
  • 灰度共生矩阵 (GLCM) 实战:Python 提取 4 大纹理特征,准确率提升 15%
  • Windows 11 22H2 硬盘预装:Diskpart + DISM 命令行 5 步完成系统部署
  • ResNet-50 图像分类过拟合诊断:从损失曲线到 3 种调优策略
  • ESXi虚拟机部署实战:从ISO镜像到远程管理的完整指南
  • macOS 15 TCC.db 权限修复:3步解决摄像头/麦克风授权失效问题
  • Win7多用户远程桌面共存:破解单会话限制的完整指南
  • Sync Batch Normalization 分布式训练实战:4 GPU 下 ResNet-50 收敛速度提升 40% 配置
  • 从零到一:在VMware中部署与优化Kali Linux实战指南
  • 解放双手的崩坏星穹铁道自动化助手:如何让游戏回归乐趣
  • Linux进程调试:巧用/proc/<pid>/fd实时捕获运行时日志
  • 如何用Parsec VDD虚拟显示器打造完美游戏串流体验
  • SLO2016与PIC18LF46K40在工业通信中的优化实践
  • OpenCV 自定义 LUT 实现伪彩色:从256x3数组到多光谱图像合成实战
  • Windows 11 微软账号登录卡顿:3种DNS方案实测与网络服务排查指南
  • 从WSA到.NET:Windows 11系统文件与用户配置的免重装修复指南
  • 【Linux】yum与rpm实战:从依赖解析到离线部署的完整指南
  • SPOOLing 技术实战:Linux 下用 3 个脚本模拟虚拟打印机队列
  • 结肠息肉分割数据集 Kvasir-SEG 与 CVC-ClinicDB 实战:3步完成数据预处理与加载
  • Linux 网卡中断绑定实战:3步隔离CPU与手动设置smp_affinity
  • VirtualBox 共享文件夹权限配置:解决 vboxsf 组与 sudo 的 2 种权限方案实测
  • Windows 11 26H1 离线安装 .NET Framework 3.5:DISM 命令与独立安装器 2 种方案对比
  • 下班1小时Day7 | Attention 学习
  • CentOS7系统克隆实战:使用Mondo Rescue制作可启动ISO镜像
  • CentOS 7/8 KVM 实战部署:3步完成基础环境与首个虚拟机创建
  • Linux df/du 命令实战:5分钟定位磁盘空间占用超80%的根因
  • 统信 UOS 20 虚拟机性能调优:4项关键参数设置提升30%流畅度
  • Nginx 1.20.1 生产环境平滑升级实战:CentOS 7 下 5 步修复 CVE-2021-23017
  • UltraISO 9.6.6.33 制作 Windows 11 启动盘:FAT32 转 NTFS 解决 4GB 文件写入难题