面向开发人员的 Linux 发行版

Jai*_*tus 50 distros linux distribution-choice

我正在寻找能够吸引我的开发人员方面的最佳 Linux 风格。我是开源爱好者并使用几种不同的语言。

有没有像面向开发人员的 Linux 这样的东西?

Con*_*lls 44

在实践中,发行版都使用大致相同的开发工具链,因此它们作为一般开发工作的平台并没有真正的显着差异。但是,有些确实具有可能与某些类型的开发工作相关的特定优势:

  • 商业发行版(RHEL、SLES)得到了第三方闭源供应商的最佳支持。如果您想使用(比如说)Oracle,您最好使用其中之一,尽管如果您安装了正确的库,Oracle 可以与大多数发行版一起使用。CentOS 是从 RHEL 源代码编译的,并且可以与大多数(如果不是全部)为 RHEL 构建的商业软件很好地配合使用。

  • 如果你想修修补补,你可以试试 Linux From Scratch。这是一个关于如何将 linux 发行版挂在一起的很好的教程。

  • 如果您想要一些可以从存储库中获得几乎所有开源或曾经开源的东西,那么基于 Debian 的发行版(Debian 或 Ubuntu)可能是一个胜利。Canonical 选择 .deb 作为 Ubuntu 的包管理系统是有原因的。

  • 如果您想将所有内容都调整到 n 度,那么 Gentoo 可以让您为您的特定处理器架构重建整个系统。

  • 如果您想要“传统的 unix”体验,那么您可以尝试 Slackware 或 FreeBSD(这不是 Linux 发行版,但可能对 OP 感兴趣)。此外,BSD 系列在网络方面特别强大,因此它们可以为在该领域工作的开发人员提供优于 Linux 的优势。

其中,我过去曾多次使用过 CentOS、Debian、Fedora、Ubuntu、Slackware 和 FreeBSD,以及其他一些(Vector、SLS、Yggdrasil 和 Redhat 的各种版本,从大约 4.0 开始)。作为“unix”开发环境,它们都提供了那个时代的工具,并且可以通过捆绑工具或通过下载和构建您需要的任何其他工具来用于开发工作。

Unix 曾被描述为伪装成操作系统的 IDE,或类似的词。如果需要,任何 unix 或 linux 变体都可以为您提供 unix 开发人员体验。有一段时间我不太关心环境。我真的只是使用窗口管理器打开 xterm 窗口并启动一些应用程序;其他一切几乎都是从命令行完成的。大多数种类的 unix 或 linux 都可以做到这一点。

如果您使用 C,那么带有 ctags、make 和 gcc 的 vim 或 emacs 工作得很好;您可以在有或没有前端的情况下使用 gdb。该工具链还为 perl 或 python 等语言提供了良好的支持,并带有来自第三方工具的丰富支持生态系统。

对于更加以 GUI 为中心的工作流,它实际上归结为窗口管理器、桌面环境和开发工具的个人选择。如果您使用 Java,那么 Eclipse 和 netbeans 已经在大多数主要发行版上构建。存在各种传统 IDE,支持 C/C++、perl、python 和其他脚本语言。这些可以在大多数 Linux 发行版上运行。Java 仅通过 3rd 方端口在 BSD 上受支持,因此如果您正在使用 linux,则使用 linux 可能会更好。

  • 恕我直言,只有第一点和第三点与开发人员相关。调优或 Unix 经验只对高级用户和系统管理员感兴趣。它们会导致不兼容 (Unix) 和不可预测的不稳定性 (Tuning),这对开发人员来说都是毒药。 (3认同)

ata*_*ata 12

有没有像面向开发人员的 Linux 这样的东西?

是的。它被称为Linux。

Fedora(或任何 Red Hat 衍生产品)与任何 Debian、Slackware、Gentoo 或其他任何东西一样好。说真的,您可以使用任何主要发行版进行开发,要求“面向开发人员”的 Linux 是一个愚蠢的问题。

说这些发行版中的任何一个对开发人员来说都比其他发行版更好也是愚蠢的。只是不严重。

这个问题确实需要争论。

  • 说要求“面向开发人员”的 Linux 是一个愚蠢的问题是愚蠢的,除非您为*为什么*愚蠢提供了很好的论据。 (15认同)
  • 你真的需要证明“Fedora 和任何 Debian、Slackware 一样好......”。肯定有不同发行版的原因,这意味着对于不同的人,它们不能在任何给定的任务中同样出色。 (7认同)
  • 做我的工作我需要稳定的环境。考虑到这一点,例如。Fedora 和 Ubuntu 远非稳定,我不推荐它们。您可以对 Windows 用户说“Linux 对开发人员有好处”,因为它是一般状态。当您与 Linux 用户交谈时,他们可能对可以提高效率的更具体的事情感兴趣。 (6认同)
  • 公平地说,juaco 是对的。Linux 对开发人员有好处,期间。 (4认同)

小智 5

我已经尝试了很多发行版,因为我真的很喜欢这样做。

我是一名开发人员,我也想知道适合开发人员的良好 Linux,根据我的经验,没有任何 Linux 发行版专门面向开发人员。

原因是作为开发人员,您不仅可以自定义任何发行版以满足您的需求,而且您绝对需要知道如何进行此类自定义。

所以基本上如果你不熟悉 Linux:

1) Debian,因为很多生产网络服务器都在运行 Debian,所以了解 Debian 机器的组织方式可能是个好主意。Debian 的好处在于,由于它绝对是使用最广泛的 Linux(包括它的衍生产品,例如 Ubuntu),因此可用的预编译软件包的支持、社区和数量非常广泛。Debian 的坏处在于它旨在成为一个稳定的生产环境,因此很少为您提供您作为开发人员可能想要尝试的最新前沿内容。

2) Arch-Linux(实际上是 ArchBang)是我目前最喜欢的有 3 个原因: - 它没有提供太多的简单的一键安装和配置的东西,但有一个很好的教程来帮助你像你一样设置一切想要,这种方法可以让您了解很多事情在后台是如何工作的,这意味着当您正确设置一切时,使用 Linux/Unix 系统会感觉非常舒服。- 这是滚动发布,这意味着您永远不必下载新版本并重新安装所有内容,您只需更新系统和瞧!- 它尝试实施所有最新的前沿技术,因此您将始终掌握软件的新改进,并且作为一名真正值得赞赏的开发人员。- 哦,它也有一个很棒的社区。

但无论如何,基本上取决于您尝试一些东西并决定最适合您的东西,我可以保证的是,无论您最终使用哪种 Linux,总有一种方法可以根据您的喜好配置/自定义东西,所以最重要的是学习如何进行定制,然后您选择已经预先配置的尽可能接近您想要的结果。


Ign*_*ams 3

Fedora是新技术的早期采用者,允许您在新技术在大多数其他发行版中可用之前几个月就对其进行实验和开发。它支持许多开箱即用的编程语言和库,并且可以相对轻松地将任何可能缺少的内容添加到您的系统中。它具有纯粹的开源理念,选择允许第三方提供与之相反的功能包。只是不要称其为“Fedora Core”(在 Fedora 7 的 Core 和 Extras 合并后,它失去了“Core”)。

  • @IgnacioVazquez-Abrams:您也不应该将“使用更新的技术”与“更好的开发方式”联系起来。无论如何,这个问题不够具体......这取决于你正在开发什么。我敢打赌世界上大部分的发展都依赖于非前沿技术。OTOH,如果有人想做 [GNOME 开发](http://unix.stackexchange.com/q/8771/8809#8809),我建议 Fedora 是一个发行版,与用于 Mono 和 KDE 开发的 SuSE 相同(基于此)事实上,SuSE 是 Mono 项目的最初资助者,并且是少数几个采用 KDE 作为默认桌面的主要发行版之一。 (3认同)