当前位置: 首页>>技术教程>>正文


为什么我不升级应用程序而不升级整个操作系统?

, , ,

问题描述

在Ubuntu中,一旦发布版本,已安装的软件仅接收安全更新。在Windows中,我可以获得具有新功能的新版程序。 Windows如何做到这一点,为什么不能Ubuntu?

最佳解决思路

This is a problem表示Ubuntu软件中心团队正在解决这个问题。

问题是Ubuntu传统上从Debian GNU/Linux的另一个免费操作系统的in-development分支中抽取大部分应用程序 – 然后”freezes”将其快照包含在一个版本中。这个名为”the universe”的community-maintained软件由80,000个软件包组成; Ubuntu开发人员无法在每个受支持的版本上为所有这些软件提供主要更新,同时仍保持相同的质量水平。

为了解决这个问题,Ubuntu创建了MyApps developer portal。现在Ubuntu是一个拥有超过两千万用户的大型平台,希望开发人员有兴趣直接向Ubuntu提交应用程序,并在Ubuntu版本中定期发布其软件更新。

对于”the universe”–软件中心团队希望最终只是可用软件的一小部分 – 可选软件升级的”backports”系统(已经存在于half-functional级别)将按比例放大。

主要软件更新的软件中心界面has been designed by a Canonical UI employee,但尚未实施:

updates,software-center,package-management,ubuntu

如果您对Ubuntu中应用程序交付的未来感兴趣,我建议您观看Ubuntu Software Center and the Future of the Universe

次佳解决思路

这实际上是Ubuntu的一个特性。

使用最新版本更新软件没有问题,Ubuntu开发人员可以轻松完成。实际上,它是在其他几个Linux发行版中完成的,包括Arch。

正如您所注意到的,Ubuntu软件仅在安全更新和关键错误修复时更新。所有功能都是”frozen”,在Ubuntu发布之后,没有软件更新到新的主要版本。虽然它似乎是Ubuntu的缺点,但实际上它是它的优点之一。

为什么要冻结应用程序的版本而不更新功能?有几个原因。

  • 新版本通常不如旧版本稳定。使用较旧的版本可确保其经过良好测试。

  • 可以相信Ubuntu在特定版本中不会发生显著变化。这非常重要,例如对于希望能够依赖的大型公司 – 如果他们使用Ubuntu 10.04 – 总是以相同的方式工作,并且它始终包含相同的功能。

    • 这也意味着Ubuntu 10.04总是10.04,而不是Windows,其中Service Pack在您的系统中发生了很大的变化,您需要处理它们。

  • Ubuntu开发人员特别注意为您提供最稳定的软件。在Windows上,通常是第三方决定何时发布更新。这意味着有些人可能希望您使用最新版本,具有新的酷炫功能,而其他人可能只有在经过长时间测试后才会发布功能。这意味着你永远不知道那里的更新发生了什么。

  • 这使Ubuntu开发人员更容易管理版本。 Ubuntu每6个月发布一次,在此期间,Ubuntu开发人员准备发布新版本,包含大量新功能和更新的软件。他们只将它添加到当前正在开发的版本中,而不是添加到所有受支持的(较旧的)Ubuntu版本:这需要更少的工作。

    • 例如,如果他们想要将10.04中的GNOME更新为版本3,那将意味着数百个其他应用程序完全崩溃,并且需要重新组织系统。

  • 这些更新由Canonical和Ubuntu开发人员提供,而不是由软件开发人员提供,因为它是在Windows中完成的。就个人而言,我相信Ubuntu开发人员比软件ABC的开发人员更多,并且可以肯定Ubuntu提供的新版本不会对我的计算机造成任何(甚至是意外的)伤害。

以上所有都是Ubuntu质量的主要部分之一。您可以获得最优质的软件和操作系统,并且为了平衡它,您不是使用最新的软件,而是仅使用几个月的软件。

此外,请记住,当您更新到较新的Ubuntu版本时,所有软件都会再次使用最新版本(但在下一版本之前一直保持不变),因此软件不包含最新功能的主要问题并非如此。正如其他人所说,如果需要,您可以使用PPA从其他来源获取更新的软件。

第三种解决思路

Canonical(ubuntu背后的主要赞助商)从一开始就决定(第4节)Ubuntu将在6个月的周期内发布。每6个月,最新/最稳定的软件将包含在存储库中,主要来自debian的不稳定/测试分支。

在该周期之外,您可以通过编译软件或包含名为PPA的其他存储库(个人包存档)来获得最先进的软件。

Windows决定采用不同的策略 – 通常(但不总是)通过Service Pack发布新功能。它在Windows下变得更糟 – 由个别软件供应商决定他们的软件是否应该自动更新。恕我直言 – 这是一个混乱的策略,我经常不得不重建Windows由于一个或另一个软件的流氓更新。

其他Linux发行版有不同的发布策略。例如,您可以使用诸如Arch之类的rolling-release发行版。当新软件发布时,如果认为软件质量足够好,维护人员会将软件推送到他们的存储库中。这可能会导致不同软件之间的潜在冲突,因为不会完成整个测试套件。在实践中,维护人员做得很好,我读过的稳定性问题很少成为问题。

Debian采取了另一条路线 – 不断改进和使用基于最稳定包的发行版。通常比Ubuntu等发行版早得多。

因此 – 它可供你决定 – (大多数)稳定性或潜在的不稳定性。

第四种思路

Ubuntu遵循标准的发布周期,以便软件在发行版之间经过良好测试和稳定,并且您可以通过升级从一个版本转到另一个版本。另一方面,有一些使用滚动发布周期的发行版,其中包不断更新(最着名的是Gentoo,Arch Linux)。

由于你与Windows比较,我太过时了,所以你可以自己回答那个部分我希望。我十年没用过那个操作系统了。

第五种思路

简短的回答:它可以

长答案:它不是默认的,为了提供稳定性

我使用pinning和aptitude来挑选和选择要安装的版本,给我一个稳定性和up-to-date-ness的组合。

第六种思路

Ubuntu的更新管理器非常适用于更新安全修复程序,但更新版本的软件和存储库中的软件包可用的错误修复程序,这意味着更新已经过尝试和测试,已知可以工作,而不会破坏具有较新未测试版本的系统。 。

如果您想要更新版本,那么请查找并添加说明getdeb.net或其他来源的存储库,它会将您的软件包/程序更新到最新版本…

第七种思路

Ubuntu也可以做到这一点,但它有不同的政策。您可以使用Arch Linux来更新每个软件包,但由于Pacman(Arch软件包管理器)的限制,这可能会迫使您有时手动执行某些操作。

第八种思路

我不同意问题中的一揽子陈述。

偶尔提供”New Feature”套餐mid-release,有时比我的专业能力更多。

例如,Canonical将CUPS从1.4.4升级到1.5.0,作为Ubuntu 11.10版本的软件包升级。虽然到目前为止基本功能似乎相同,但是相当一部分默认值是不同的,并且在部署之前需要修改我们的配置集。

第九种思路

默认情况下,Ubuntu提供安全性和推荐的更新。如果用户希望运行”software sources”并选择更新选项卡,则可以。我通常会选中不受支持的更新框(oneiric-backports),它会让我获得一些新版本。还有一个Pre-released更新的复选框,可以让您接触到更多但有时不太稳定的更新。您还可以为您感兴趣的应用程序的开发流添加ppa。我已经为gimp添加了ppa,它将我的gimp 2.6版本发布到了2.7开发流,它具有一些对我很重要的新功能。添加ppa后,将发生更新,就好像它们是受支持版本的一部分一样。这使我对稳定性与特征有相当大的控制。

第十种思路

Ubuntu可以随心所欲地做任何事情。 Windows不能。

  1. 对于Windows来说,最好放置更新,因为他们可以要钱,我不想付钱。有了Ubuntu,我可以决定。

  2. 我不喜欢像ArchLinux引入的黄金之美那样的无用的更新和无用的更新。我用我想要的东西就是它,快乐。使用Windows,你必须喜欢强制。

  3. Ubuntu不必自动更新。用户负责常识何时以及为什么要自动更新。我会说白痴使用自动更新你是白痴吗?

  4. 不要像Windows那样让病毒再次出现。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1110.html,未经允许,请勿转载。