SSD 寿命洁癖:编译过程不入盘的原则与实践

背景

2026/8/2

对 SSD 写入寿命敏感,希望在编译/构建过程中尽量减少不必要的写入。基本原则是:可复用缓存留 SSD,一次性构建垃圾进内存盘,SSD 只留最终成品。

前提确认

当前机器的 /tmp 是 tmpfs 内存盘,7.5GB,仅用 119MB,足够容纳构建过程产生的临时文件。内存 14GB,扛构建无压力。

落点方案

内容 位置 介质 处理方式
bun 安装缓存 ~/.bun/install/cache SSD 保留(可复用)
npm 缓存 ~/.npm SSD 保留(可复用)
源码 + node_modules /tmp/minicl 内存盘 用完即删
编译临时文件 TMPDIR=/tmpBUN_INSTALL_CACHE_DIR=/tmp 内存盘 进程结束自动释放
最终成品 ~/.local/bin/claude SSD 只留这一个

构建命令

bash

复制代码
cd /tmp
git clone --depth 1 https://github.com/txl16095/MiniClaude.git minicl
cd /tmp/minicl
export TMPDIR=/tmp
export BUN_INSTALL_CACHE_DIR=/tmp   # 临时缓存走内存
bun install                          # 330 packages
bun run build --compile              # 产物 ./dist/cli

mkdir -p ~/.local/bin
cp dist/cli ~/.local/bin/claude
chmod +x ~/.local/bin/claude

成品约 176MB,单文件自包含,放 ~/.local/bin/claude(已在 PATH 中)。

构建后清理

清理项 位置 原因
官方脚本残留 ~/.bun 下载残留
下载中断残留 /tmp/bun-linux-x64.zip 无用
其他项目源码 /tmp/ccb(136MB) 不用了
重复副本 /tmp/minic(49MB) 重复
构建完源码 /tmp/minicl(284MB) 成品已出

保留(可复用缓存): ~/.bun/install/cache~/.npm/home/a1/tools/*

踩坑记录

  1. 一开始把源码克隆到 ~/tools/miniclaude(SSD),编译过程产生约 285MB 临时文件写入 SSD,违背原则。后面统一搬到 /tmp 执行。

  2. 用 bun 官方脚本安装时下载慢且容易断,改成 sudo npm i -g bun 解决。

  3. 成品 claude 一度显示缺失,最终确认 ~/.local/bin/claude 正常可执行。

总结

原则很简单:反复写入的临时文件进内存盘,可复用的大缓存留 SSD,最终成品才落盘。

这套做法把 SSD 磨损降到最低。代价只是每次构建时重新下载依赖(走内存),对日常使用影响很小。

相关推荐
智购科技无人售货机厂家1 小时前
2026自动售货机实时库存管理系统:从Redis缓存到持久化的数据架构演进~YH
redis·缓存·架构
晓晓_za8986682 小时前
Geo 优化源码蒸馏词机制:地域词库构建与匹配逻辑详解
运维·tcp/ip·spring·缓存·ci/cd
nvd112 小时前
LiteLLM 如何使用 Redis:从部署位置到精确响应缓存
redis·缓存·gateway
quantdash_cc12 小时前
历史数据断层与REST请求慢到崩溃?QuantDash高性能量化数据API终极解决方案
开发语言·python·缓存·php·量化·quantdash
一次旅行12 小时前
2026‑08‑22 AI产业深度解读|Anthropic自研芯片布局、SGLang权重缓存守护进程、Agent任务作弊审计、AI原生SDLC
人工智能·缓存·sglang
淡海水13 小时前
03-02-线性-List-T-动态数组布局-扩容与操作成本
数据结构·windows·c#·list·编译·clr·机器码
晚安code13 小时前
Redis 内存淘汰策略实战:什么时候淘汰、怎么选、怎么防缓存击穿
java·redis·缓存
拂拉氏13 小时前
【Linux】 编译与动静态库相关
linux·编译·动静态库
CDN3601 天前
CDN 缓存策略优化实操:出海业务提升缓存命中率,TTL、缓存 Key、刷新配置与踩坑总结
缓存·cdn加速·cdn防护·360cdn