AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 461271
Accepted
wfaulk
wfaulk
Asked: 2012-12-28 13:05:15 +0800 CST2012-12-28 13:05:15 +0800 CST 2012-12-28 13:05:15 +0800 CST

IT 部门应该如何选择标准的 Linux 发行版?

  • 772
想要改进这篇文章?提供此问题的详细答案,包括引用和解释为什么你的答案是正确的。不够详细的答案可能会被编辑或删除。

关于哪些 Linux 发行版适合生产服务器环境,哪些不适合,社区有很多感觉,但是,很多这种感觉似乎是基于宗教的,很少提供支持证据。

假设我们正在尝试选择一个 Linux 发行版来标准化(因为我们有兴趣使我们的环境尽可能保持同质化),哪些标准很重要,您如何确定不同发行版满足这些标准的程度?

linux
  • 2 2 个回答
  • 6536 Views

2 个回答

  • Voted
  1. ewwhite
    2012-12-28T19:21:57+08:002012-12-28T19:21:57+08:00

    我将分享我在几个不同领域担任技术专家的经历……

    (注意:这是一个关于 Red Hat 的故事,以及我是如何在它的职业生涯中成长起来的)

    我从 2000 年到 2002 年开始专业从事 Linux 工作。这是在广泛采用 Red Hat 和Red Hat 专业版(6.x、7.x、8.0)期间。这些都可以免费下载以及盒装套装。它们很容易在计算机零售店中找到。

    对我来说,这有利于业余爱好者和家庭用户使用企业中开始出现的相同产品。我此时的工作是将客户服务器系统从商业 Unices(HP-UX、AIX 和 SCO)迁移到 Red Hat 平台。

    节省的成本是可观的!用价值 4 万美元的 Compaq ProLiant 英特尔服务器替换价值 10 万美元以上的 HP9000 PA-RISC 服务器在成本和性能方面取得了绝对的胜利。

    那么,为什么选择红帽?

    红帽是第一个进入该市场的公司,获得了关键业务、供应商和硬件支持。看到大型应用程序供应商使用 Red Hat 作为目标平台,就达成了交易。像我这样的爱好者用户能够轻松地将在家中磨练的技能转移到我们的工作环境中。社区在发展。Slashdot、Freshmeat和LAMP 堆栈统治!这是 Linux 的好时机。

    至此,我负责开发和评估 Linux 发行版作为专有 ERP 软件解决方案的平台。我坚持使用红帽。每隔一段时间,我会尝试另一个发行版(Mandrake、SuSE、Debian、Gentoo),但会发现包装、硬件支持(服务器或外围设备)、社区(规模)或其他一些破坏交易的问题。

    举个例子:我使用的是 Compaq/HP ProLiant 硬件,配备了Digi Serial 扩展 PCI-X 卡和Esker VSIfax 生产传真软件。后两者仅对 Red Hat 操作系统提供驱动程序支持。在某些情况下,软件仅以二进制或 RPM 形式交付,无法在其他 Linux 变体上轻松使用。

    信息技术世界中的势头很重要
    没有人愿意推荐失败的解决方案或最终成为孤儿的项目,因此您坚持安全的选择。我正在管理一个需要可靠工作并有多层支持的技术堆栈。在那个时候选择不同的发行版就可以了。到过。不负责任的。


    2003 年,随着该软件专业版的停止,我的红帽蜜月期结束了。Red Hat Enterprise Linux是替代品并带来了相当多的包袱......成本(昂贵的基于订阅的模型),可访问性(缩小用户群和社区)以及对未来的普遍困惑......

    我开始寻找替代品,重新评估 Gentoo、Debian 和 SuSE。我无法在我们技术堆栈的所有组件上获得正确的支持。我被迫坚持使用 Red Hat 生态系统……由于与 Red Hat Enterprise Linux 相关的巨大成本转移,我最终在其生命周期结束后的几年里运行了高度修改的 Red Hat 8.0。直到 RHEL 克隆成熟(Whitebox Linux,以及后来的CentOS),我才准备真正离开我的标准。

    Red Hat 衍生产品的主要优势过去和现在都是与付费 RHEL 版本的二进制兼容性。甚至可以在 RHEL 和 CentOS 之间执行就地转换,反之亦然。我继续使用类似 RHEL 的系统工作,直到我做出下一个职业转变......


    后来我进入了高频金融交易行业,负责关键自动交易系统的研发和 Linux 工程。这个世界的重点是速度,通过仔细的测试和调整。同样,硬件支持是关键。我会有特定的网卡,专门的硬件、仅针对 RHEL 或 RHEL 类系统进行认证的服务器硬件或应用程序库。即使在可以为其他 Linux 变体编译的情况下,社区因素也会出现。当我需要研究问题时,通常情况下问题可以追溯到 Red Hat Bugzilla 报告中的注释或评论,或者有时,我只是提交补丁或请求下一个版本.

    当我开始研究低延迟网络和内核调优时,我开始剖析现有的 RHEL 内核和RHEL MRG Realtime内核。我注意到发布时有多少工作...... 200 多个 vanilla kernel.org 内核补丁。阅读评论并提交说明。您可能有一些小事情,例如sysctl公开的参数或应用了更合理的默认值。Red Hat 花钱请人修补、测试和修复这些问题。我没有看到其他 Linux 发行版做出同样的承诺...添加一个事实,即企业平台保证具有多年的真正安全性、错误修复和向后移植支持。


    所以我最终搬到了另一家在服务器和桌面上几乎全是 Gentoo 的金融公司……这对我来说是一场灾难。来自 Red Hat 和 CentOS 世界,我在 Gentoo 设置中遇到了许多稳定性和管理问题。版本控制是最大的问题,但社区支持的减少和缺乏真正的测试也是令人担忧的问题。我开始在环境中引入 RHEL,因为我们的一些第三方软件需要它......

    但是有一个问题……我的开发人员已经习惯了 Gentoo,并且对于核心库和应用程序版本有相对容易的升级路径。他们无法适应 Red Hat Enterprise Linux 标准化的固定主要版本。GLIBC 2.7 为何不能移植到 RHEL 5.x或为什么某个编译器或库版本不可用等问题困扰着开发和发布过程。当被告知 RHEL/CentOS 主要版本之间的升级本质上需要完全重建时,他们对该解决方案失去了很大的信心。

    在这一点上,我意识到 Red Hat 对于想要走在前沿/前沿的开发人员来说进展得太慢了。RHEL 6.x 是一个非常需要和受欢迎的升级,但是当我开始采访那些遵守DevOps 原则的初创公司和公司时,这个主题变得更加明显。


    今天……
    越来越多的开发人员和 L​​inux 用户来自非 Red Hat、非 SuSE、非企业 Linux 环境。

    • 他们正在使用 Ubuntu 或 Debian ...
    • 他们不必处理老式硬件或大型供应商的支持。
    • 他们正在从头开始编写自己的应用程序(自营)。
    • 虚拟化和云计算抽象了硬件层,因此根本不用担心时髦的 RAID 控制器驱动程序、PCI-X 外围设备或二进制分布式管理代理。
    • 这些用户想要他们习惯的工具和用户空间。

    所以有冲突……这些用户不明白为什么他们会在应用程序或库版本上受到限制。老派管理员仍在适应新范式。似乎植根于宗教的论点实际上只是人们如何发展各自技能的功能。

    我今天看到一则招聘非常高级的 DevOps Linux 工程师职位的招聘广告,内容如下:

    必须精通基于 Debian 的 Linux 发行版(Ubuntu 和变体可以。Red Hat可以,但不是首选)

    所以我想它是双向的……我已经放弃了工作机会,因为我要管理的 800 台 CentOS 服务器计划转换为 Ubuntu。当然,Linux 就是 Linux……但我觉得我并没有那么高效……我在 Debian 安装上摸索过,希望使用基于 RPM 的发行版。我曾就各种平台的优点进行过激烈的争论(通常将 Gentoo 放在列表的底部)。

    那么什么适合您的环境?这取决于。我曾在系统工程师推动决策的公司工作过,也曾在开发人员为王的组织工作过。我认为最好的安排是开发人员和支持系统的人就平台达成一致。但除此之外,请考虑长期支持、可用性、社区以及以最合适的方式容纳您的应用程序堆栈的内容。

    有才华的开发人员应该能够在类似 RHEL 或类似 Debian 的环境中工作。而且,开发平台应该反映生产环境。你从那里去...

    • 70
  2. Best Answer
    tudor -Reinstate Monica-
    2012-12-28T18:45:57+08:002012-12-28T18:45:57+08:00

    我目前在一个使用 Linux 十多年的环境中工作。办公室里的每个人都在他们的桌面和服务器上使用不同的发行版。因此,分布的选择往往围绕着许多没有特定顺序的事物:

    1. 历史- 显然像 RedHat 和 Debian 这样的系统已经存在了很长时间。因此,“如果它没坏,就不要修理它”这句格言可用于这些。如果软件在发行版上得到很好的支持,升级就会变得更容易。
    2. 熟悉- 类似于历史,但我们都有自己的最爱。我开始使用 Debian,然后迁移到 Ubuntu(当时这是一个艰难的决定,因为我倾向于致力于社区)。相反,必须记住如何在十几个不同的发行版上做事是一件痛苦的事情(更不用说临时构建的发行版了)。
    3. 支持——我迁移到 Ubuntu 主要是因为我很欣赏他们在提供付费支持方面所做的工作。如果客户担心系统的长期运行,这就是一个卖点。类似于 RedHat 的方法(但 RPM 地狱当时正在发生)。出于这个原因,我们也有许多 RedHat 服务器。
    4. 依赖关系——一些软件更容易在某些发行版上使用,仅仅是因为依赖包更容易获得或构建。例如,RedHat 上的 oVirt。某些发行版上没有某些软件的软件包。你可以编译它,但如果包就在另一个发行版上,你为什么要编译呢?
    5. 粒度——像 Gentoo 这样的发行版提供了对版本控制和软件切换粒度的更精细控制。其他发行版有各种形式的“固定”,但这仍然不是可控或可靠的。
    6. 绑定——虽然在大多数发行版上都可以从源代码编译,但有些发行版比其他发行版更擅长。例如,如果您的项目为扩展功能修补现有库,这可能会产生影响。
    7. 漂亮——一些发行版只是更好看。每个极客都知道这只是小事(现在你可能会把它作为一个网络应用程序来做)但是一些客户对这些东西感到惊叹,我们都知道这一点。
    8. 稳定性——一些发行版流式传输软件的“稳定”版本,而不是“测试”、“实验”等。如果你知道你正在构建的版本最终会就稳定性达成共识,这可能意味着很多。你可能会在“实验性”的基础上进行开发,因为你知道当你的项目完成时它已经达到“稳定”并且可以很好地依赖。
    9. 包管理——如果您每天都在开发一些东西,并且它会一次性输出到 1000 台机器上,那么您可能需要一些可以轻松地跨这些系统构建、维护和跟踪包的东西。
    10. 一致性——这更多是对同一发行版的争论。当人们可以专注于一个发行版而不是多个发行版时,犯的错误就会减少(安全错误也会减少)。
    11. 可预测的发布时间表- 如果您想确保您的软件得到支持,计划升级可提供某种类型的稳定性。
    12. 安全——一些发行版有活跃的安全团队,他们的工作是立即对任何批准的包中的真正安全风险做出反应。

    关于选择每个系统的原因,这些只是我想到的几件事。在这个决定中,我没有看到任何指导灯或一个发行版比另一个发行版的偏好。多样性和选择可能很棒,可以为您提供一些非常好的选择来快速启动项目,但它也是可以绞死您的绞索。确保你提前考虑你将需要什么。计划系统的需求以及系统何时升级或停用。不要假设您将永远是维护它的人。

    • 60

相关问题

  • Linux 主机到主机迁移

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 在 RHEL4 上修改 CUPS 中的现有打印机设置

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve