freebsd 单片机开发
我一直在考虑将博客移回FreeBSD Web服务器。 我以这种方式托管了多年,最近又将其切换到Linux机器,这样我才能使Octopress正常工作。 它使用了一些旧的,过时的Ruby宝石,而且看起来更容易。
但是随着新的重新设计和新的Hugo后端,我将把我的托管计算机带回到FreeBSD。
我最近读到FreeBSD是一个了不起的操作系统 ,这让我开始思考:
FreeBSD能否在2020年成为开发人员可行的桌面操作系统?
在这篇文章中:
我将谈论:
让我们深入。
我大约在1998年首次试用FreeBSD。Linux对Windows95感到沮丧,这使我很感兴趣,并且我已经使用了几年。 一个朋友建议使用FreeBSD,所以我跑到了Portland的Egghead软件那里,买了一个副本。
一开始我发现这很令人沮丧。 但是我有一个巨大的手册可供参考(1998年没有太多的Google),所以我挖了一下。我立刻注意到的一件事是,文档似乎清晰准确。 它告诉了我如何做某事,如果我遵循它,我将获得预期的结果。 我迷上了。
我首先在运行于车库中的运行FreeBSD 4的旧奔腾机器上托管JeremyMorgan.com 。 我的第一项真正的技术工作是与FreeBSD一起工作,而我首先致力于学习和使用它。 这是我多年来的日常驱动程序,并且我在FreeBSD上运行了一个虚拟主机服务。 我们没有灾难性的失败。 在这里,我将尽量避免这种偏见。
最终,我开始从事开发工作,每天都使用Linux。 为了使家里的工作环境与工作相适应,我开始远离FreeBSD。 很快,除了托管我的网站之外,我根本没有使用它。
所以最近,在阅读了有关FreeBSD并在线研究之后,我再次安装了它。 我启动了一个虚拟机,它出现了一些古怪的错误,自从我将其用作台式机以来的15年中,情况发生了一些变化。
我很快把它放在真实的硬件上。 我有一台用于运行虚拟服务器的i7机器,周围有一个旧的SSD,因此我在上面扔了FreeBSD 12(稳定)。 几乎没有进行任何修补,并且已启动并运行。 如您所料,较旧的硬件更易于设置BSD。
经过试验后,我将其放在全新的笔记本电脑上。 某些硬件无法使用,特别是我的无线网卡。 因此,我最终在上面放了FreeBSD 13(当前)。
我在实验室机器和主工作机器上安装了FreeBSD 12(Stable)。 我使用LXDE桌面环境是因为我很老,我喜欢它。
我对FreeBSD中有多少功能运行良好感到惊讶。 我设置了开发机器,使其尽可能与Arch Linux机器匹配。 这是我在那台机器上做的事情:
那么,我可以设置一个FreeBSD机器来完成所有这些事情吗? 通常我可以。 在离开FreeBSD一段时间之后,它让我可以像这样用一行安装的东西让我感到惊讶:
pkg install vscode
对于我安装的某些东西的示例,我以Gist共享了一个安装脚本 。
这是完全符合预期的工作:
以下是无法使用或无法使用的内容:
因此,我无法镜像我的Arch Linux环境,但是我取得了很多成功。 在使用了两周之后,我确定了开发人员如何将FreeBSD用作桌面,然后我将解释为什么要这么做。
FreeBSD遍及服务器世界,并拥有庞大的社区。 在FreeBSD本身或其软件包上进行开发或维护的任何人不仅可以而且应该将FreeBSD用作工作站。 那不用说了。
同样,对于C , C ++和Python开发人员来说,由于可用的工具和软件包数量众多,FreeBSD可能是您最好的选择 。 长期以来一直如此。
但是,我将介绍我的受众群体(此博客的读者)及其需求。
Node似乎运行良好,我可以启动一个React App,并对其进行一些修改。 我无法使React CLI正常工作,主要是因为有nodegit,这在除了主流平台/操作系统以外的任何其他设备上安装React CLI时似乎都是致命弱点。
Angular的效果很好,我做了一些尝试,SASS和其他依赖项运行完美。
Vue CLI运行得很好,尽管我没有做很多事情来推动它。
总体而言:在进行前端操作时,我没有遇到任何重大障碍。 我相信前端开发人员可以将FreeBSD用作其开发机器,这与使用Linux相似。
这是一个棘手的问题,因为有很多选项可供选择。 我可以做很多事情,并且我知道在后端使用的其他组件在FreeBSD中都没有问题。 这包括:
如果您使用这些技术中的任何一种,它们应该就可以在FreeBSD工作站上正常工作并可以正常工作。
如果您是.NET Core开发人员,那么FreeBSD可能不适合您。 有几种安装方法,但它似乎只能在Linux兼容性下运行,并且它是一个古老的版本。 我认为FreeBSD顽固派对于在其平台上开发Microsoft产品并不感到兴奋。 但是,只要有足够的工作,我肯定3.0是可能的。
因此,系统开发人员,前端和后端开发人员可以将FreeBSD用作其开发工作站,但是为什么要这么做? 继续阅读。
如果您正在阅读本文,则很可能使用Windows,Mac或Linux进行开发。 您可能会想:我为什么要更改? 重点是什么?
再一次,我将尽量避免让我的个人偏见进入本文,但是您喜欢OSX或Linux的大多数原因可能是更喜欢FreeBSD的原因。 我会解释。
FreeBSD非常接近OSX和Linux。 这是有原因的,因为OSX最初基于BSD Unix,并且与Linux并行运行了很多年。 它们相似,但是不相同。
这就是您可能要运行FreeBSD的原因:
Linux是带回购协议的内核,FreeBSD是系统 -好的,我会收到一些有关此的电子邮件,但是Linux相当分散。 FreeBSD不是。 FreeBSD在其文档和软件包中都有一个真实的来源。 这引出我的下一个观点。
这是一个精心打造的生态系统 -它没有围墙花园,但是在生态系统中有很好的领导才能确保事情不会过于分散。 这可能会使最前沿的人感到不安,但是FreeBSD维护人员对添加的内容和时间非常严格。 他们努力凝聚力,这表明。
通常,FreeBSD的性能要比Linux好 -不要指望指数差异,但是许多测试表明 ,FreeBSD的性能要比Linux好,尤其是在CPU较高的情况下。
这些文档令人难以置信 -FreeBSD维护者引以为傲的一件事就是文档。 如果您像我很多次一样被困住,那么文档将使您获得救助。
FreeBSD通常有“做某事的一种方式” -这既有好处,也有缺点。 但是通常根据设计者/维护者有一种做事的方法。 这可以使事情变得容易,但是有人说它扼杀了创新。 但是,如果大多数情况下需要软件包,则可以使用pkg进行安装或从端口构建。 简单,容易。
Ports系统很棒 -因此,如果您担心从Linux中的源代码进行编译,那么FreeBSD中的情况就不同了。 如果您需要从源代码(甚至整个系统)进行编译,那么在FreeBSD中就可以轻松完成。 您将花费很长时间进行编译(这是不可避免的),但是您将不会拥有与Linux中一样多的错误和怪异事件。
在某些情况下,您不想使用FreeBSD作为开发人员。
如果没有可用的软件包-有时没有可用的软件包,则Linux仿真不是一个很好的解决方案,并且没有合理的前景。 如果您处于这种情况,FreeBSD可能不是最佳选择。 例如,如果您是.NET Core开发人员,则可能不是最佳选择。
如果您需要Docker / Kubernetes-因此, 根据文档, Docker已损坏。 我能够使用一些基本的容器,而且一切似乎都很好,但是Docker在FreeBSD中似乎并不适合。 FreeBSD用户更喜欢使用jail,因此他们并没有在Docker上投入太多精力。 如果您在日常工作中使用Docker,这可能是一个危险信号。
设置可能具有挑战性 -FreeBSD用户会通过说值得这样做来反驳这一点,但是FreeBSD设置起来可能会困难且令人沮丧。 有很多东西要学习,您可能会花很多时间进行修补。 如果您想快速启动并运行,可能不适合您。
如果您想尝试FreeBSD,我建议您下载VirtualBox并创建一个虚拟机来安装FreeBSD。 这是最简单的尝试方法,无需对机器做任何麻烦的事情。
您将需要:
下载FreeBSD 为您的CPU。 您可以为此获得虚拟机映像,这使事情变得容易一些。 您将需要在RELEASE和STABLE之间进行选择,下面将解释差异。 如果可以的话,我建议使用STABLE。
阅读有关安装FreeBSD的文档 -内容非常详尽,它将帮助您解决所有困难。
选择一个桌面环境 -如果您是Linux用户,那么您已经知道这是什么意思。 安装FreeBSD时,系统会提示您,因此,如果需要GUI,则必须安装某种环境。
在FreeBSD论坛上添加书签-这是获得帮助并分享您所学知识的地方。
完成此操作后,您将可以尽情享受FreeBSD的乐趣,并且可能会发现它是您要坚持使用的操作系统。 你会相处得很好。
因此,对于FreeBSD,您有两个不同的版本:STABLE和CURRENT。 听起来就是这样。 “稳定”是经过FreeBSD贡献者全面测试的版本。 它被认为可以稳定地用于生产环境,并得到FreeBSD Foundation的支持。
当前是FreeBSD的最新版本。 它包含所有最新和最出色的资料,但可能无法正常工作。 里面还进行了调试和监视,因此情况复杂。 由于我的选择很少,因此将Current放在笔记本电脑上。
我的笔记本电脑装有EFI系统。 要与Windows 10双重引导,我必须安装RefIT并进行一些引导菜单项。 没什么可怕的,但是对于初学者来说却没那么有趣。 您已被警告。
要回答一个大问题: 是 。 它可以。 您可以在FreeBSD中进行大量的现代开发,其优点是拥有快速,稳定的系统。 一旦对其进行配置,当您完成实际工作时,它可以“远离您”。 它带有各种可用于协助开发的工具。 首先,FreeBSD是为开发而构建的。
如果您想了解FreeBSD的发展趋势以及未来的前景,请查看 FreeBSD基金会执行董事Deb Goodkin的访谈 。
如果您最终自己尝试了FreeBSD 在HackerNoon论坛中让我知道! 我很想听听您对使用它的反馈。
翻译自: https://hackernoon.com/can-you-use-freebsd-for-a-developer-machine-in-2020-fc653bk5
freebsd 单片机开发