可能的重复:
面向开发人员的 Linux 发行版
我不知道这个问题是否适合在这里提出。但是谁能告诉我对于程序员来说最好的(Linux)发行版是什么?我用多种语言编程,包括 java 和 lisp。我很高兴知道有一个发行版对程序员来说足够好,但又足够小,可以快速下载+安装。欢迎任何建议和建设性批评。这是我的第一个问题,请帮助我。
IDEs I use: Eclipse/Emacs/KDevelop
Languages : C, C++, Java, Python, Perl, Lisp
答案1
绝对没有“最好”的编程发行版。有人可能会说 Unix 总体上更程序员友好的(甚至这是有争议的),但在这个级别上比较发行版只是无稽之谈。
换句话说,熟练的 Unix 用户将知道如何毫不费力地将任何发行版变成她最喜欢的编程环境。但是,根据您当前的技能水平以及您想要在定制系统上投入的精力,您可以进行以下一些初步检查:
记下您感兴趣的可执行文件的版本,并检查它们是否存在于您的发行版的存储库中。例如,某些发行版在采用最新版本的 Python/Ruby/其他版本方面会非常缓慢。你提到 Lisp,请注意64 位 Debian 不包含 GNU/MIT 方案的软件包。另一方面,Java 是从所有发行版的存储库中删除由于甲骨文收购后更严格的许可。 Oracle 提供的唯一 Java 打包版本是 RPM(基于 Red Hat、基于 SuSE 的发行版将对此进行管理)。
如果您正在使用 C/C++,请确保您选择的发行版支持您正在使用的架构。
如果您的可执行文件需要特殊的编译选项,那么最好考虑采用一个从源代码完成所有操作的发行版,例如根图,尽管这不是必需的。
笔记:发行版不在其包管理器存储库中显示您最喜欢的应用程序这一事实并没有那么糟糕。您始终可以获取源代码并自行编译。
关于 Java:如果您不采用基于 RPM 的发行版(例如 Debian),您有几个选项来运行 Java:
Oracle 提供了一个通用的“Java”tarball,它可以在任何发行版上运行,尽管不能通过包管理器运行。
您可以采用该语言的替代实现,例如开放式JDK。
底线
不存在“更好”的发行版。尝试一下,最好是与您认识的人相同的人,这样您就有一个真正的人来回答您的问题。如果不适合,请尝试另一种,直到适合为止。
进一步阅读:
答案2
好吧,Linux 的“最好”之处在于,如何使用它以及用于任何目的都取决于您,而且都是免费的 :p I会建议你从 debian 开始,它足够满足初学者 linux 程序员在软件方面的需求,但它对于“用户”来说足够简约和灵活不是建议使用 ubuntu,因为它不够免费 :P
答案3
2015年更新
过去几年情况发生了巨大变化。
今天的答案是:“同时运行所有这些!”
只要你能跑码头工人在你的发行版上(你很有可能可以)然后你就可以随意运行任何Linux发行版中的程序。例如看我的Docker 实验您会发现一些 shell 脚本在每次脚本调用时运行超过 20 个(原文如此!)不同的 Linux 发行版。如今,如果我运行的每个命令都可以在任何其他发行版中执行(如果有意义的话),那么我使用哪个发行版就更不重要了。
这是我 2012 年的原始答案:
最佳 Linux 发行版
最适合编程的 Linux 发行版是……所有这些。据我所知,确实没有哪个发行版会对编程不利。您使用的工具和语言在每个 Linux 发行版上都可用。差异不在于工具或语言,而在于包管理系统、版本控制、理念、发布计划、默认桌面或默认安装的软件,但这通常可以轻松更改。
德班
例如,如果您使用Debian 稳定版那么你的系统将坚如磐石,但在发布后不会获得任何新功能,只有错误修复,而且你永远不知道新的 Debian 稳定版本何时发布:它在准备就绪时发布。
如果你使用Debian 不稳定那么您将拥有一个始终处于最前沿的运行版本,但您付出的代价是并非所有内容都像稳定版那样经过彻底测试。
乌班图
Ubuntu 基于 Debian,但版本比 Debian Stable 更新,并且它有可预测的发布时间表这样您就可以提前计划升级,并且可以使用长期支持版本并确保在 5 年内获得错误修复。
另一个区别是 Ubuntu 不像 Debian 支持那么多架构,因此只能在 intel 架构上使用的软件默认可以使用,而在 Debian 上默认不能使用。
除了外观之外,Ubuntu 最重要的区别是 AppArmour 和 Upstart,但这是优点还是缺点完全取决于你。根据我的经验,Debian 和 Ubuntu 对开发人员都非常友好。
Arch Linux、CentOS、Fedora、Gentoo、openSUSE、Slackware...
您可能还想了解哪些发行版提供商业支持,或者它们是否可以在提供共享托管、专用服务器、VPS 等的托管公司中使用。
例如,Linode 目前提供以下发行版:Arch Linux 2012.10、CentOS 6.2、Debian 6、Fedora 17、Gentoo、openSUSE 12.1、Slackware 13.37、Ubuntu 10.04 LTS、Ubuntu 11.10、Ubuntu 12.04 LTS,选择任何一个都不会出错。其中。笔记本电脑上的系统与服务器上的系统相同是件好事,但话又说回来,您可能不在乎。不过,它可能会让您了解它们的测试和广泛使用程度。
社区
另一种让你下定决心的方法是查看你正在考虑的发行版的在线社区。例如Ubuntu有询问 Ubuntu在 Stack Exchange 上,你可以查看一下。
文档
该文档对您来说可能也很重要。有一个不错的文档和维基百科对于Ubuntu。有各种Debian 资源和文档。
这些只是例子。每个发行版都有一些社区和文档,因此请搜索它并看看它是否满足您的要求。请记住,并不总是最大的社区一定是最适合您的,您可能会对较小的、甚至是非常特殊目的的发行版感到更舒服,因为社区会高度重视您的兴趣和可能的贡献。
现场CD
我建议尝试尽可能多的不同发行版,您可以合理地在 Live CD 上尝试,并选择适合您的发行版。
你可以从维基百科上基于 Linux 的 Live CD 列表并阅读有关您感兴趣的内容的维基百科文章,以获得良好的开端。
祝你好运。
答案4
任何发行版都可以;由你决定。我建议使用 Ubuntu:大型社区,几乎所有东西都可用的软件包,很多开箱即用的东西。
如果您愿意花更多时间来设置系统并想要/需要更前沿的环境,请考虑 Arch Linux。