当前位置: 首页 > 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.jsqmd.com/news/1134719/

相关文章:

  • MS12-020漏洞深度剖析:从RDP协议缺陷到远程代码执行攻防实战
  • Win10/Win11系统下载的CHM文件被锁定?一键解除与组策略根治方案
  • 从FAT32到NTFS:软碟通制作Windows启动盘时的大文件处理与格式转换指南
  • Diffusion Transformer(DIT)架构:消费级显卡训练文生图模型实战
  • 协方差矩阵与皮尔森相关系数:从2维到N维数据的3步可视化分析实战
  • 矩阵分解协同过滤 Python 实战:梯度下降 100 轮训练,RMSE 降至 0.8
  • Linux日志系统-03:logrotate子配置文件实战与最佳实践
  • macOS:当隐私列表“隐身”时,手动为App注入摄像头权限
  • IDM试用期重置:巧用注册表实现循环激活
  • 字节面试复盘2026/07/03
  • sklearn 1.4.0 数据集加载实战:5种方法获取UCI数据,对比3种存储格式
  • Cora/CiteSeer/PubMed 原始数据处理:从 .tgz 到 PyG Data 对象的 5 步转换指南
  • 【Windows 逆向】使用 CE 指针扫描技术定位动态内存地址 ( 实战案例解析 | 从临时地址到静态基址的完整寻址链路 )
  • ArcGIS Pro 3.0 空间参考实战:3步创建自定义北京独立坐标系(附.prj文件)
  • 抖音音频批量提取完整教程:3步免费获取海量音乐原声
  • 灰度共生矩阵 (GLCM) 实战:Python 提取 4 大纹理特征,准确率提升 15%
  • 密码学算法在无线局域网安全中的应用调研报告
  • Windows10家庭版用户文件夹重命名与注册表同步全攻略
  • HP ProBook 445R G6 BIOS救砖与Win11升级实战手记
  • PyTorch 1.8+ FFT 实战:GPU加速图像频域滤波,吞吐量提升 3 倍
  • UOS系统root权限深度配置:从自动登录到服务自启全攻略
  • Windows 11 22H2 硬盘预装:Diskpart + DISM 命令行 5 步完成系统部署
  • Alpine Linux轻量级桌面实战:Xfce部署与中文环境全攻略
  • 训练集/验证集/测试集 7:2:1分割:3种Python实现方法与场景选择指南
  • ResNet-50 图像分类过拟合诊断:从损失曲线到 3 种调优策略
  • wandb 0.28.0 实战:PyTorch MNIST 训练日志与超参调优,5步集成提升效率
  • TegraRcmGUI图形化注入工具:解决Switch破解中的Windows平台技术难题
  • ESXi虚拟机部署实战:从ISO镜像到远程管理的完整指南
  • Knife4j:Spring Boot API 文档增强利器
  • DISM /apply-image 实战:解析install.wim文件结构与3种部署场景