为什么我们需要每天或每周更新。每周更新150MB?
这和 Windows 很像(抱歉,我不想责怪任何人)。我相信更新是为了弥补一些漏洞、缺陷;这是否意味着该软件是在完全测试之前发布的?
答案1
如果你使用的是稳定版本,更新量不应达到每周 150MB,但会少得多。Ubuntu 有一个优秀的发布政策,并有一个少数例外任何软件都不允许在版本中发布重大升级。因此,您将看到的大多数更新都是软件小升级、错误修复和安全问题修复。
一旦 Ubuntu 版本完成并发布,其更新仅会在特定情况下发布,并且必须遵循称为“稳定版本更新”或 SRU 的特殊程序。
- 从稳定版本更新Ubuntu Wiki 上的页面。
与 Windows 相比,Windows 也有自己的 Windows 更新包袱,只不过更新是每月发布(大部分情况下),而不是滚动进行。
因此,这并不意味着“该软件在经过全面测试之前就已发布”,而是意味着您可以使用改进(错误/安全性/功能)。
答案2
尼莫船长的回答很棒。从更一般的角度来看,请考虑以下几点:
Ubuntu 等操作系统包含数千行(甚至数百万行)代码,全部由人类编写。您在 Ubuntu 上运行的每款软件(Firefox、Thunderbird/Evolution、Gnome-Shell、Pidgin 等)的代码行数从几百行到几千行不等,这些代码也是由人类(通常是不同的人)编写的。
人类是会犯错的动物,即使在最好的情况下,维护这么多代码也会很快让人感到困惑。由于两个略微相关的东西之间存在相互作用,很容易忘记某些东西的副作用,更改与之相关的某些东西,并引入错误。甚至更容易写出你认为很好的东西(或者,在某些情况下,只是一些可以工作的东西,但由于时间紧迫,它很丑陋),然后不得不回去重做,因为它引入了一个错误,或者更糟的是,一个安全漏洞。
进一步增加难度的是,有数百种不同的计算机设置,这可能会影响特定软件的功能(特别是在操作系统和硬件驱动程序级别,这些级别的东西并不那么抽象)。有时,无论团队进行多少测试,错误甚至都不会被发现出现直到该软件被正式发布。
因此,您每天或每周获得的更新都是针对那些小改动、错误修复、安全修复和各种其他小更新。如果您使用第三方 PPA 获取最新版本,那么它甚至可能是包含新功能的更大版本更新。
当谈到软件时,人们最常犯的逻辑错误就是将其与物理结构(如桥梁)进行比较。桥梁可以宣布“完工”,并且多年内都不需要动工(除了修复道路部分,因为汽车会在那里行驶并磨损桥梁)。桥梁设计可以在理论环境中进行测试和重新测试(从使用数学来确定强度的最佳角度,到比例模型),并且可以在项目一开始就确定桥梁的要求。这些都不适用于软件开发(瀑布项目的反复失败已经一次又一次地证明了这一点),有时开发人员甚至可能直到生产时才知道存在给定的需求,这要归功于软件开发带来的所有小细节。因此,软件项目永远不会被视为“完成”,这就是为什么一开始就有版本和发布以及功能添加的原因。那些每日/每周/每月的更新是不断更新、改进和调整软件的产物。
或者,换句话说,如果每个人都等到软件不再有缺陷、不需要调整或修复,并且软件绝对完美时才发布软件,那么没有人会发布任何软件。(这并不是说每个人都会在不测试软件的情况下发布软件,只是对于给定的版本而言,存在“可接受”的阈值,以及可以推迟到发布后更新的内容。)
话虽如此,你不需要有每天、每周或永远更新。开发人员无法强制更新您的计算机。但是,定期更新对您最有利。允许安全更新静默安装是确保您获得最重要更新的好方法,并且每月至少运行几次更新可确保您不会遇到已经修复的错误。
答案3
您可以通过启用自动更新并调整更新间隔来减轻这些更新的影响: