为什么大多数情况你不应该立刻更新你的软件/系统

2022-03-16 19:59:38 +08:00
 zxhe

以下是版本号的科普,摘自网络

版本号的格式为 X.Y.Z(又称 Major.Minor.Patch),递增的规则为:

  • X 表示主版本号,当 API 的兼容性变化时,X 需递增。
  • Y 表示次版本号,当增加功能时(不影响 API 的兼容性),Y 需递增。
  • Z 表示修订号,当做 Bug 修复时(不影响 API 的兼容性),Z 需递增。

因此根据不同的更新,我们需要不同的策略

  1. 当修订号更新时,可以及时更新
  2. 当次版本号更新时,应该谨慎更新,至少要等到 >= X.[Y+1].1 时再更新
  3. 当主版本号更新时,应该谨慎更新,此时应该收集你常用的软件的兼容信息,如果不兼容,至少等到厂商适配且版本号 >= [X+1].0.1 时再升级
3387 次点击
所在节点    分享发现
25 条回复
fluffyfoxxo
2022-03-16 20:28:38 +08:00
道理我都懂,但是……
xooass
2022-03-16 20:29:50 +08:00
但是我就是控制不住我这手
lazyyz
2022-03-16 20:38:31 +08:00
+1 ,一楼、二楼完美回答
ClericPy
2022-03-16 21:10:21 +08:00
最近被 Windows10 的滚动更新给愁到了... manjaro 也滚但也没滚的那么久

公司有台电脑一直流量超高, 找不到原因, 今天才知道, 原来是上面那 50 个虚拟机在下载更新补丁....

日常使用中真没有明显受影响的时候, chrome 一直保持最新, 不过以前用开发版的时候真的超不稳定

楼主提到的其实用 Python 的基本都知道, 3.9 上线一年以后生产环境再考虑切换, 不然各种第三方包编译麻烦死或者不向后兼容
dcsuibian
2022-03-16 21:12:36 +08:00
当初看到 npm 的语义化版本控制感觉很不错。实际用起来才发现直接写死版本是最靠谱的。
lostberryzz
2022-03-16 21:20:07 +08:00
我还是会第一时间更新,为的是新的 feature ,而且一般经过内测公测不太可能会有恶性 bug
llllllllllil
2022-03-16 21:39:17 +08:00
基本上手动更新,有些软件更新了就会带有广告
SimonOne
2022-03-16 21:50:25 +08:00
brew update && brew upgrade
nsynet57
2022-03-16 22:58:39 +08:00
小米手机

小米 redmi 手机 note9pro 出售系统是 12.0.xx 是能正常安装谷歌套件的,但是手欠买了之后立即升级到 12.5.xx 了,就默认去掉了谷歌套件的支持,所以买小米手机需要谷歌套件的请注意啦~~
nuevepicos
2022-03-16 23:31:38 +08:00
很多时候更新 App ,就是为了消掉 App Store 上那个烦人的数字提示……
hertzry
2022-03-17 00:27:04 +08:00
apt update&&apt upgrade -y
HYisen
2022-03-17 01:10:26 +08:00
sudo pacman -Syu
不同环境的推崇哲学不同吧。
xlsepiphone
2022-03-17 01:13:32 +08:00
brew update && brew upgrade && brew cleanup

史称 『 brew 三连击』

```fish
alias brew3tap "brew update && brew upgrade && brew cleanup"
```
arischow
2022-03-17 01:19:15 +08:00
so ?复读?
MengiNo
2022-03-17 01:23:17 +08:00
感觉没什么所谓,现在网速那么快,最最最差的结果不就是删了重下重装呗。
Dvel
2022-03-17 01:24:24 +08:00
macOS 我一直跟着最新稳定版,我就好奇苹果要花多少年来修复耳机声道平衡自动偏移的 Bug 。
westoy
2022-03-17 01:26:37 +08:00
不是说我, 道理大家都懂, 但是坦白说你们多少项目直接引用了 github 上的 dev 版本自己说吧......
jim9606
2022-03-17 02:20:30 +08:00
对一般用户来说管理版本和测试各个版本太麻烦了,还是交给分发渠道用遥测和灰度推送解决吧。
但对开发者来说这算工作的一部分,觉得麻烦也得做,毕竟能赚钱,苦也比全部自己造轻松吧。
作为高级用户,我头疼的是发现 bug 的时候是降级还是升 beta/alpha 。降级(保留数据)在多数软件上是很难操作的,因为开发者基本不会对这个用例做很多测试,可能会扩大 bug ,甚至一刀切禁止这样做(手机系统)。因为这个我现在用着 Win11 Dev 。

另外提一嘴,语义化版本不能应对一些情况,我列举一些情况:
1. 新版本删除了几个过时 API ,反正已经很少人用了,或者有重大安全缺陷,那这种 API 不兼容变更一定要升 Major 吗?如果 API 兼容但 ABI 不兼容,那怎么办?
2. 升个 Major 真的意味着 API 不兼容吗?作者可能只是因为加了一个重大功能加了一组 API 而已,按理说升个 Minor 就行,但没存在感啊!
3. 联网软件功能很多都是靠云控或者热更新的,功能早就有了只是没激活而已,那版本号有用吗?

所以现在,对于功能未完善的软件(意味着不存在更好的旧版本),和功能架构已经完全稳定下来基本不会大改的软件(用哪个版本都差不多,新版加的都是可有可无的东西),会倾向用单一顺序主版本号或者基于日期的版本号。例如 Chromium 、systemd 、Windows (主要看 build 计数)。需要某个功能就设置个最低版本限制就是了。
Bingchunmoli
2022-03-17 02:26:21 +08:00
更新是为了修复 bug 和修复安全 bug
LaGeNanRen
2022-03-17 09:10:25 +08:00
因为维稳大于一切:)

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

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

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

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

© 2021 V2EX