FreeBSD 作为一个开发平台有多好?

Posted

技术标签:

【中文标题】FreeBSD 作为一个开发平台有多好?【英文标题】:How good is FreeBSD as a development platform? 【发布时间】:2010-09-21 20:18:58 【问题描述】:

我知道许多网络托管服务提供商都提供 FreeBSD,但 FreeBSD 作为开发平台有多好?

具体来说,Java 1.6 是否可用? 对于 Linux 下不可用的工具,它是否提供了一些特定的东西?

【问题讨论】:

Java 8、11 和 12 现在可用于 FreeBSD。有关 FreeBSD 上 Java 的更新,请参阅:Install Java 9, 10, 11, or 12 on FreeBSD 11.1How to install JRE on FreeBSD 8? 【参考方案1】:

TrueOS 已停产。我有点惊讶...... TrueNAS 和 TrueOS 之间有一些协同作用会很有趣。

【讨论】:

【参考方案2】:

我一直认为 FreeBSD 是一个出色的安全托管环境,但可能不是最简单的开发平台。您将不得不进行一些研究以启动并运行 Java 1.6,尽管我认为这是可行的。我希望你熟悉 emacs 或 vi。 ports 系统可以让您访问许多软件,但它们必须从源代码编译。如果您熟悉标准的 Unix 命令行工具和命令行本身,那么您对 ​​FreeBSD 应该没有问题。

艾伦

【讨论】:

端口系统很棒,但您不必按源代码编译所有内容。如果您知道要安装的名称,请使用 'pkg_add -r packagename' @Wergan 软件包并不适用于所有端口/平台。所以你必须知道如何构建它们才能使用它们。 只是为了更新 FreeBSD 10.0 的这些语句:现在有 pkg​​ng 而不是 pkg_*,所有端口都可以通过它安装为二进制包。【参考方案3】:

TrueOS

TrueOS,PC-BSD 的演进,建立在FreeBSD 之上。

只需在 App Cafe(TrueOS 中内置的包管理器)中单击一两次,我就安装了OpenJDK 8 Update 102(最新)和NetBeans 8.1(最新)。

App Cafe 自动下载和安装大约需要三分钟。然后启动 NetBeans 并在另一分钟内启动并运行一个 Hello World 应用程序。

【讨论】:

【参考方案4】:

自 v2.1 以来,我一直将 FreeBSD 用作服务器平台和台式机/笔记本电脑。作为一个安全、稳定的操作系统,它非常出色。然而,作为一个图形用户界面,它的表现也不尽如人意。我经常不得不手动设计一个 X 配置,并且在为 Firefox 安装 Flash(这是一个功能还是一个 bug 值得商榷)时几乎没有运气。

你会发现你不能只为 Firefox 之类的东西下载二进制文件,但是 Ports 库可以弥补这一点。从 CD/DVD 进行完整安装可为您提供可靠的服务器平台,但从源代码安装 Gnome 可能会花费大量时间,因为它必须下载和编译所有内容的源代码。是的,您经常可以找到预编译的 PKG 文件,但是在相应的 /usr/ports 目录中“make install clean”太容易了。

通常,您会发现将特性添加到 Linux 内核的速度比它们在 FreeBSD 中出现的速度要快(尽管有 dtrace 和 zfs)。我认为目前还不支持 Video for Linux,这使得 MythTV 之类的事情充其量是困难的。同样,如果您使用 Asterisk,ISDN 支持。

归根结底,这是个人品味的问题。我继续在生产中使用 FreeBSD,但最近倾向于将 Ubuntu 用于桌面。

我不会谈论 Java 的东西,但是 Ruby on Rails 可以完美无缝地部署。

【讨论】:

【参考方案5】:

流行的操作系统(Linux、Windows 甚至 Mac OS X)更好。流行的操作系统在编译器、库等优化方面得到了更好的支持。例如,FreeBSD 是 GHC 的 2 层平台(这意味着 GHC 可能会发布新版本,即使它不能在 FreeBSD 上运行)。并且某些编程语言仅适用于 Windows 或 Linux。

【讨论】:

【参考方案6】:

FreeBSD 是一个很棒的开发平台。例如,如果您查看内核源代码,与 Linux 的混乱相比,它是如此的干净和易于理解。很稳定,社区也很专业。我从第 4 版开始使用 FreeBSD。

但对于 Java 开发,我会选择 Linux、Windows 或 Solaris。最新的 Java 二进制文件在我的 Ubuntu 上比在 XP 上表现更好(Netbeans 作为 IDE 也表现更好)。

【讨论】:

【参考方案7】:

抛开 Java 等实际问题不谈,真正的问题是您开发什么。

如果您正在编写丰富的桌面应用程序,那么您自然希望在最受用户欢迎的平台上进行开发——我很确定这不可能是 FreeBSD。

如果您正在开发 Web 应用程序,那么您希望您的开发服务器尽可能接近您的生产托管环境。如果您要在 FreeBSD 上进行部署,那么在本地运行它可能也很有意义,至少在虚拟机中是这样。 (当然,浏览器测试是一个不同的问题。)

请记住,虽然您可以在 BSD 上运行的所有开发工具也可以在 Linux 上使用,但事实并非如此,尤其是在 Linux 获得了更多商业吸引力的情况下。

说了这么多,最好的方法是亲眼看看:尝试在 FreeBSD 上复制您的开发环境,无论它可能是什么。如果你成功了(而且你来自 Linux,呵呵),一旦你开始编码,你甚至不会关心你使用的是什么操作系统。

【讨论】:

【参考方案8】:

您可以从FreeBSD Foundation 获得 Java 的二进制发行版,他们为此与 Sun 签署了协议。来自 Java 的艺术,FreeBSD 是一个很棒的开发平台,包含您可能需要/想要的每种语言和环境。免责声明:我从事 FreeBSD 开发人员已超过 13 年。

【讨论】:

【参考方案9】:

如果您主要关心的是 Java,我建议您远离 FreeBSD。在 Linux/OpenSolaris 上启动和运行 Java 开发设置要容易得多。

*BSD 是系统级、硬件级和内核级编码人员的首选开发平台,因为这部分通常比 Linux 上的文档更好,并且您有一个“官方”目标,而 Linux 发行版的补丁等有所不同。

【讨论】:

【参考方案10】:

我仅将 FreeBSD 用于开发。它非常安全且非常稳定。稳定性对我来说是一个重要因素,而 FreeBSd 弥补了 Linux 和 Windows 让您想要的地方。

【讨论】:

我不是 FreeBSD 的忠实粉丝,因为它像 OpenBSD 一样难以使用,但在安全性方面更接近 Linux(也就是说“不那么安全”)。在 OpenBSD 和 Linux 之间填补了一个非常的小众市场。【参考方案11】:

您可以在 Linux 仿真模式下运行本机 Java 1.6 端口或 Sun 的 Linux JDK,两者都可以在 ports tree 中找到。我以前运行 Linux JDK(使用 Emacs JDEE)没有任何问题,但是你的里程可能会有所不同。

对于 IDE,Netbeans 和 Eclipse 在端口树中都可用。

我建议至少尝试一下,如果没有其他原因,只是看看有什么大惊小怪的。你所花费的只是时间。

【讨论】:

【参考方案12】:

FreeBSD 是一个非常棒的实时环境托管平台,但 Java 在很长一段时间内一直是它的眼中钉。但是,尽管安装并非易事,但似乎不再是这种情况。

您必须从 Sun 获取 JDK 源代码,然后从 http://www.eyesbeyond.com/freebsddom/java/jdk16.html 应用 FreeBSD 补丁集,然后编译。

更多信息:http://www.freebsd.org/java/

一旦有了 JDK,运行 Eclipse 和其他 Java 应用程序应该会容易得多,但我不知道用于 FreeBSD 的 SWT……有人吗?

【讨论】:

【参考方案13】:

好吧,我最近安装的版本(最新版本 AFAIK)的 /usr/ports 中没有 Java 1.6。 Netbeans 的端口最多只能捆绑 5.5。至少您必须四处寻找更多最新版本。作为一个完全保持最新的开发平台,看起来并不乐观。

【讨论】:

FWIW,这在 2008 年可能是正确的,但现在不再正确了。 Sun 1.5 和 1.6 JDK 以及 openjdk 6 和 7 都在端口树中。 是的,现在是这样。我最近自己编译了 openJDK 7。 :-)

以上是关于FreeBSD 作为一个开发平台有多好?的主要内容,如果未能解决你的问题,请参考以下文章

在FreeBSD上安装Bugzilla

与其他跨平台正则表达式库相比,Oniguruma 有多好?

PhalApi开源接口框架有多好用?最全后端PHP开发攻略整理

原来做前端开发有这么多好工具可以用?

在FreeBSD上使用PHP-7是否安全可靠?

在 freebsd 中编写我的第一个系统调用(用于学习内核开发)