重要项目的源码最好别放机械硬盘

199 天前
 NQ

最近搞一个 c++项目,整个工程 50 多个 G ,编译的时候报各种奇怪的错误,每次清理缓存和 binary 文件后再编译报的错都不一样,怀疑是硬盘的问题,用工具扫了一下,好家伙,100 多个坏块。

后面我把整个项目移到固态硬盘,把报错的子项目清理了以后再编译,终于编译成功了,前后浪费了 5 天时间。

得出的教训是,机械硬盘别放重要项目,碰上一个坏块可能整个项目就废了,有些报错信息 Google 搜不到,0 结果,想排查都不知道从哪查起。

还有就是 vscode 有些 AI 编码的插件会占用文件,导致编译失败,有些插件哪怕你没开 vscode 也会在后台运行,不用的插件最好卸载了。

杀毒软件也会占用文件,导致编译失败,这个我以前碰到过,所以我很多年没装过杀毒软件了。

2832 次点击
所在节点    编程
19 条回复
busier
199 天前
用 btrfs 文件系统 他和 zfs 一样,带有文件校验功能。可以发现存储器的存储位反转,但是读写又不报错的情况。
busier
199 天前
再插一句 硬盘该坏照样坏 你这情况我在固态硬盘上一样出现过

后来疯狂读写揉捏 让其故障扩大 直接走售后换了
liuzimin
199 天前
有坏块的时候平时不会感觉到特别卡吗?
NoOneNoBody
199 天前
这不是机械硬盘的问题,是人的问题
bzw875
199 天前
写 C++的人真惨。2025 年了还在用机械硬盘。我大概 2015 年领导就给我笔记本换 SSD 了
ssh
199 天前
下次如果坏的是固态硬盘楼主是不是又要发个帖子说不能放固态硬盘了
pinocc012
199 天前
备份才是硬道理,而且必须是自动备份
kdwnil
199 天前
重要数据只能靠勤备份来减少坏盘的损失
cyp0633
199 天前
重要项目的源码最好两地三份
DOLLOR
199 天前
任何存储介质都该默认是不可靠的。
重要的东西,要有多个备份。
Ipsum
198 天前
这 50g 里有啥宝贝呢。纯代码 50g 那确实厉害。
xiao9469
198 天前
固态是直接一波带走
kokerkov
198 天前
机械硬盘有数据恢复的可能性。固态基本再见。
HFX3389
198 天前
固态是直接暴毙,甚至 0E 涨起来了你都不知道,再来个掉固件,主控和颗粒相互成对加密,救都救不回来
totoro625
198 天前
固态也有“坏块”,丢过数据就知道 raid/备份了
redbeanzzZ
198 天前
真重要肯定多做备份啊,raid 啊,重要东西我是绝对不敢只放再固态的,坏了直接没的彻底
jy02534655
198 天前
确实要做好备份,之前我的固态就是直接挂掉,还好代码都在 git
processzzp
198 天前
@kokerkov 别想着数据恢复了,1TB 一千块钱起步,上不封顶,如果恢复出来的是重要数据,对方还可以挟尸要价,大部分人的数据真没那么值钱
Suzutan
198 天前
之前也遇到过类似的问题,当时文件放在一块盘中怎么都编译失败,搞了一下午换块盘就成功了。最蛋疼的是压缩包校验正常,重新解压也不行,后来扫描坏块也啥都没扫描出来

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1112750

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX