假设我们试图选择Linux发行版进行标准化(因为我们有兴趣保持我们的环境尽可能均匀),哪些标准很重要,以及如何确定不同发行版符合这些标准的程度?
解决方法
>历史 – 显然像RedHat和Debian这样的系统已经存在了很长时间.因此,格言“如果没有破坏,不要修复它”可以用于这些.如果在发行版上支持该软件,则升级会变得更容易.
>熟悉 – 与历史相似,但我们都有自己的最爱.我在Debian上剪了牙,然后迁移到了Ubuntu(当时的一个艰难决定因为我倾向于建立一个社区).相反,要记住如何在十几种不同的发行版上做事情(更不用说划痕构建的发行版)是一件痛苦的事.
>支持 – 我迁移到Ubuntu主要是因为我赞赏他们在提供付费支持时所做的工作.如果客户担心长期运行系统,那就是卖点.类似于RedHat的方法(但当时RPM仍在继续).出于这个原因,我们还有许多RedHat服务器.
>依赖关系 – 有些软件更容易在某些发行版上使用,因为依赖包很容易获得或可构建.例如,这将是RedHat上的oVirt.某些发行版上的某些软件没有软件包.你可以编译它,但为什么如果包在那里另一个发行版?
>粒度 – 像Gentoo这样的发行版可以更好地控制版本控制和软件交换机粒度.其他发行版以各种形式“固定”,但仍然不那么可控或可靠.
>绑定 – 虽然可以在大多数发行版上从源代码编译,但有些发行版比其他发行版更好.例如,如果您的项目修补现有库以获得扩展功能,则会产生这种影响.
>漂亮 – 有些发行版看起来更好看.每个极客都知道它只是松散(这些天你可能会把它作为一个网络应用程序),但有些客户对这些东西感到惊讶,我们都知道.
>稳定性 – 一些发行版流式软件的“稳定”版本与“测试”,“实验性”等相反.如果你知道你正在构建的版本最终会达到稳定性的共识,这可能意味着很多.你可以在“实验性”上发展,知道当你的项目完成时它将达到“稳定”并且很好地依赖.
>软件包管理 – 如果您每天都在开发一些东西,而且它会在一次点击中运行1000台机器,那么您可能需要一些能够在这些系统中轻松构建,维护和跟踪软件包的东西.
>一致性 – 这更像是同一发行版的论据.当人们可以专注于一个发行版而不是几个发行版时,可以减少错误(并减少安全性错误).
>可预测的发布计划 – 如果您希望确保您的软件得到支持,计划的升级可提供某种类型的稳定性.
>安全性 – 一些发行版拥有活跃的安全团队,其任务是立即响应任何已批准的软件包中的真正安全风险.
对于选择每个系统的原因,这些只是我头脑中的一些问题.在这个决定中,我没有看到任何一个发行光或偏好另一个发行版.多样性和选择可以很好,并为您提供一些非常好的选择,让项目快速启动,但它也是可以挂起你的套索.确保你提前考虑你需要的东西.规划系统的需求以及系统何时升级或退役.不要以为你永远是维持它的人.