滚动发行

科技工作者之家 2020-11-17

滚动发行(英语:rolling release)又称滚动更新(rolling update)是指软件开发中经常性将更新发送到软件的概念。

简介滚动发行的开发模式是众多软件版本周期的其中一种,滚动发行的开发模式可以用在任何软件或软件的集合,常见于Linux的发行版,称之为滚动发行版。

较于滚动发行,有标准版本和小数点版本的版本号开发模式,必需透过重新安装以取代先前的发行版。1

滚动发行类型部分滚动更新,半滚动更新

完全滚动更新

伪滚动更新

真滚动更新

选择性滚动更新

循环滚动更新1

滚动发行范例使用滚动发行的软件:

**Arch-related:**Arch Linux,ArchBang Linux,Chakra GNU/Linux(半滚动更新:non-rolling core),Parabola GNU/Linux,CTKArch,Arch Hurd,KahelOS,Manjaro Linux,Bridge Linux,Nosonja Linux

**Debian-related:**aptosid(Debian unstablebase),siduction(Debian unstablebase),Semplice Linux(Debian unstablebase),LMDE(cyclical:Debian testingbase),Aurora OS(半滚动更新:non-rolling core;Debian unstable&Ubuntubase),antiX(cyclical:Debian testing&MEPISbase),Vanillux(cyclical:Debian&Ubuntubase),Epidemic GNU/Linux

**Fedora-related:**Fuduntu Linux(fork)

**Gentoo-related:**Gentoo Linux,Gentoo/FreeBSD,Gentoo/NetBSD,Gentoo/OpenBSD,Gentoo/DragonflyBSD,Funtoo Linux,Calculate Linux,Toorox Linux(半滚动更新:non-rolling wrapper),Sabayon Linux,Google Chrome OS(and itsopen sourcedevelopment baseChromium OS)

**LFS-related:**NuTyX Linux(LFS,BLFS&CRUXbase)

**Mandriva-related:**Unity Linux,PCLinuxOS(fork;半滚动更新:non-rolling core)

**rPath-related:**rPath Linux,Foresight Linux

**Sorcerer-related:**Sorcerer Linux,Source Mage GNU/Linux(fork),Lunar Linux(fork)

**Slackware-related:**Frugalware Linux

**SUSE-related:**openSUSE Tumbleweed(optional: rolling when usingTumbleweedsoftware repository)

**Other: independent:**Yoper Linux1

小数点版本小数点版本是软件项目中的一种维护版本,尤其是指只有修复程序错误或是小范围清理代码而非加入新的功能。一般来说,这种版本会相对较频繁的发布,并较常见于开放源代码项目中。

部分零售软件也可能频繁的发布小数点版本,但对有最新完整版本的用户来说,不一定会是免费升级;而主要版本即便是先前版本的用户也几乎都必需付费才能升级。1

软件版本周期软件版本周期是指电脑软件的发展及发行过程,从Pre-alpha(准预览版本)发展到Alpha(预览版本)、Beta(测试版本)、Released candidate (最终测试版本)至最后的Gold(完成版)。

Pre-alpha有时候软件会在Alpha或Beta版本前先发布Pre-alpha版本。一般而言相对于Alpha或Beta版本,Pre-alpha版本是一个功能不完整的版本。2

AlphaAlpha版本仍然需要测试,其功能亦未完善,因为它是整个软件发布周期中的第一个阶段,所以它的名称是“Alpha”,希腊字母中的第一个字母“α”。

Alpha版本通常会送到开发软件的组织或某群体中的软件测试者作内部测试。在市场上,越来越多公司会邀请外部客户或合作伙伴参与其测试。这令软件在此阶段有更大的可用性测试。

在测试的第一个阶段中,开发者通常会进行白盒测试。其他测试会在稍后时间由其他测试团体以黑盒或灰盒技术进行,不过有时会同时进行。2

BetaBeta版本是软件最早对外公开的软件版本,由公众参与测试。一般来说,Beta包含所有功能,但可能有一些已知问题和较轻微的程序错误(BUG)。Beta版本的测试者通常是开发软件的组织的客户,他们会以免费或优惠价钱得到软件。Beta版本亦作为测试产品的支持和市场反应等。

其他情况,例如微软曾以Community Technology Preview(简称CTP,中文称为“社群技术预览”)为发布软件的测试版本之一,微软将这个阶段的软件散布给有需要先行试用的用户或厂商,并收集这些人的使用经验,以便作为进一步修正软件的引用。2

Release CandidateRelease Candidate(简称RC)指可能成为最终产品的候选版本,如果未出现问题则可发布成为正式版本。在此阶段的产品通常包含所有功能、或接近完整,亦不会出现严重问题。

多数开源软件会推出两个RC版本,最后的RC2则成为正式版本。闭源软件较少公开使用,微软公司在Windows 7上应用此名称。苹果公司把在这阶段的产品称为“Golden Master Candidate”(简称GM Candidate),而最后的GM即成为正式版本。2

软件开发软件开发(英语:Software development)是根据用户要求建造出软件系统或者系统中软件部分的一个产品开发的过程。软件开发是一项包括需求获取、开发规划、需求分析和设计、编程实现、软件测试、版本控制的系统工程。换句话说,软件开发就是一系列最终构建出软件产品的活动。软件开发可能包括研究、新的开发工作、修改、复用、重新设计(再工程)、维护,或者任何最终获得软件产品的其他活动。尤其是在软件开发过程的初始阶段,其中可能会涉及许多的部门,包括市场营销、工程设计、研究与开发以及一般意义上的管理。2

本词条内容贡献者为:

王沛 - 副教授、副研究员 - 中国科学院工程热物理研究所

科技工作者之家

科技工作者之家APP是专注科技人才,知识分享与人才交流的服务平台。