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 / 问题 / 5267
Accepted
mmyers
mmyers
Asked: 2009-05-07 04:26:11 +0800 CST2009-05-07 04:26:11 +0800 CST 2009-05-07 04:26:11 +0800 CST

BSD有什么好处?

  • 772
锁定。这个问题及其答案被锁定,因为这个问题离题但具有历史意义。它目前不接受新的答案或交互。

自从 Warty Warthog 以来,我一直在使用 Ubuntu。我正在考虑尽快安装 Jaunty;但我注意到周末NetBSD 5.0、Dragonfly BSD 2.2.1、OpenBSD 4.5和FreeBSD 7.2都发布了,所以我很好奇:

BSD有什么好处?为什么我应该或不应该安装其中之一而不是 Ubuntu?他们的主要卖点是什么?表现?稳定?硬件兼容性?使用方便?安全?它们在旧硬件上运行良好吗?它是什么?

编辑:这是从(主要是Java)桌面开发人员的角度来看的,但我也很想知道对其他人的利弊。他们是否更多地针对服务器?对于企业用户?或者是什么?

bsd
  • 12 12 个回答
  • 9782 Views

12 个回答

  • Voted
  1. Best Answer
    ConcernedOfTunbridgeWells
    2009-05-07T07:19:43+08:002009-05-07T07:19:43+08:00

    BSD 的优点

    与 Linux 相比,*BSD 系列系统具有(恕我直言)一些关键优势,特别是对于服务器 O/S。

    • 简单和控制:*BSD 发行版都没有必要添加 Linux 发行版所展示的功能。因此,大多数 BSD 派生系统的默认安装相对简单。

    • 稳定性:部分受简单性驱动,BSD 往往是最稳定的 O/S 平台之一。 FreeBSD(它是较老的“现代” BSD 之一)为许多知名的 .com 提供支持,例如Yahoo和(在某一时刻)hotmail。 事实上,微软曾一度因为无法将 Hotmail 从 FreeBSD 迁移到 Windows 而遭受了很多尴尬。

    • 安全性:尤其是OpenBSD在安全性方面有着非常出色的记录,而且他们的大部分工作都在 *BSD 社区中普遍存在。

    • 可移植性:特别是NetBSD可以移植到几十个平台,并且以非常容易移植而著称。

    一些弱点

    • 对大型 SMP 配置的支持少于 Linux。随着具有大量内核的盒子越来越普遍,这将成为一个更大的问题。然而,大多数真正成为 BSD 主场的网络服务应用程序并不是那么消耗 CPU (1)。

      BSD 内核上的 SMP 性能在过去十年中得到了显着提高。提高 SMP 性能是Dragonfly BSD的主要目标之一,而FreeBSD SMPNg 项目在该平台上显着提高了 SMP 性能,在 8 核平台上的性能优于 Linux。 这意味着人们可以期望在主流 2 和 4 插槽服务器上获得良好的性能。

      一些辩论FreeBSD 上提供 NUMA 支持的早期工作是存在的,因为该系统目前不支持用于内存分配、亲和性管理的 API 或其他用于显式 NUMA 支持的设施。可以在此处找到有关 NUMA 支持的良好入门。

    • 比 Linux 更小的硬件支持范围:实际上,这实际上只意味着您需要检查硬件兼容性列表中的组件。 对于服务器来说,在大多数情况下这不是问题,但安装在随机桌面 PC 上会有点棘手。如果您希望机器安装 BSD,您仍然必须逐个组件地检查,而 Linux 不太可能出现这种情况。

    • 对桌面的重视程度较低:Linux 的桌面发行版(例如 Ubuntu)往往对多媒体、仿真和捆绑应用程序提供更丰富的桌面支持。尽管许多此类应用程序确实具有到各种 BSD 平台的端口,但桌面 Linux 发行版的开箱即用支持通常会更好。

    • 软件方面的一些差距:很多商业 Linux 软件没有 BSD 端口。例如,主要的 JVM 供应商都没有为任何 BSD 平台维护其 Java 运行时的本机端口。在某些情况下,第三方维护端口,但在任何 BSD 上都没有对(例如)Oracle 的官方支持。这种差距在 BSD 的某些地方会出现;如果您在存在此类差距的空间中工作,BSD 可能不适合您。

    一些重点

    • 90 年代最伟大的宗教战争之一是 GPL 与 BSD。BSD 是根据 BSD 许可证获得许可的,该许可证具有与 GPL 不同的一组权利。本质上,BSD 许可证不需要您重新分发 BSD 许可软件的修改版本的源代码。

    • Oracle 等商业供应商对 BSD 的支持程度不及他们对 Linux 的支持程度。因此,如果您想使用这样的产品,您可能最好使用 Linux。但是,大多数都提供跨 Linux、System V、Solaris 等的二进制兼容性,因此您通常可以为另一个操作系统运行二进制文件。

    • BSD 社区的运行方式往往与 Linux 不同,而且通常更小(尽管在许多情况下不再有绅士风度 - Theo De Raadt有一个臭名昭著的名声)。

    • 一些 BSD 变体是利基市场产品,针对特定目标进行了优化。例如,OpenBSD 专门针对在面向 Internet 的计算机上提供安全的网络基础设施进行了优化,需要大量的工作来检查缓冲区溢出漏洞等安全漏洞。许多具有安全意识的组织正是出于这个原因使用它。NetBSD 是为移植到几十个平台而设计的,并且在嵌入式系统中得到了广泛的应用。对于这些系统之一的最佳应用程序,它很可能是平台的最佳选择。

    *BSD 的主场是网络服务——电子邮件和网络服务器、基础设施等。您可以使用任何 BSD 设置一个完美的极客桌面,并且理论上可以产生像 Ubuntu 一样温暖和蓬松的东西。然而,这不是大多数 BSD 产品的核心焦点,尽管PC-BSD等一些产品确实旨在提供桌面系统。

    如果您想制作一个传统的 unix geek 桌面,BSD 将与任何其他 unix-oid 系统一样做到这一点。

    1. 例如,在 1980 年代的 VAX/4.2BSD 时代,像 VAX-11/750 这样的机器可以为整个系或大学校园提供电子邮件服务,并且可能还会做其他工作(尽管应该注意大多数电子邮件都是纯文本的,附件并不像今天那么普遍——这台机器上使用的磁盘驱动器的容量通常在 120-450MB 之间)。现代服务器的 CPU 功率和内存要多 3-4 个数量级,磁盘子系统的吞吐量可能要多 2 个数量级,空间要多 3-4 个数量级。
    • 65
  2. Nathan
    2009-05-07T04:47:07+08:002009-05-07T04:47:07+08:00

    我认为 BSD 不像桌面上的 Linux 那样成熟,但对于服务器来说,它是坚如磐石的。

    您是否要安装 BSD 完全取决于您使用机器的目的。虽然许多事情与 Linux 相似,但也有许多不同之处。

    然而,这里是不同 BSD 的简述

    • OpenBSD:如果它的邮件目标是成为最安全的操作系统(它可能是)

    • NetBSD:它的座右铭是“当然它会运行 NetBSD”。这必须是最便携的操作系统之一。许多人也在台式机上运行它。

    • FreeBSD:在服务器上非常流行,尽管很多人也在桌面上运行它。可能是所有 BSD 中最受欢迎的

    • DragonFly BSD:一个相对较新的人(2003 年),它是 FreeBSD 4.8 的一个分支。我自己没有使用过,但显然很稳定。

    • 15
  3. Michael Gorsuch
    2009-05-07T05:20:16+08:002009-05-07T05:20:16+08:00

    在 Linux 世界中,发行版往往缺乏那种……凝聚力。它们通常以分散的方式构建,这往往会导致这种情况。

    BSD 通常由一个人管理,因此您会感觉每个变体都是一个实际产品,背后有很多计划。事情很好地协同工作,所有组件都有很好的文档记录。你很少能找到杂物。

    这奠定了非常坚实的基础,使 BSD 成为一个易于维护的平台,因此有可能导致更安全和可管理的环境。

    我成为 Linux 用户已有 13 年了,虽然我仍然认为它是一个可行的平台,但由于上述原因,我已将所有生产和个人服务器都移至 BSD。

    但是,由于其最先进的驱动程序支持,Linux 仍然可能是桌面的更好选择。

    • 11
  4. Adam Gibbins
    2009-05-07T04:30:31+08:002009-05-07T04:30:31+08:00

    默认情况下,BSD 通常被认为是安全的,它禁用除核心服务之外的所有服务。它也非常稳定,您可以通过查看众多正常运行时间监控服务之一来判断这一点。

    但是请注意,Linux 与 BSD 不同……有一个学习曲线,所以不要指望直接跳进去。例如,您会发现所有核心命令,例如ls具有不同的标志,起初可能会令人困惑,并且可能需要一段时间才能打破使用 Linux 标志的旧习惯。

    • 9
  5. chaos
    2009-05-07T06:12:21+08:002009-05-07T06:12:21+08:00

    我真的很喜欢/usr/ports。这并不是说我也不太喜欢apt-get,但很高兴知道您的安装是在您的特定机器上构建的,并且您喜欢将任何优化放入 makefile 默认值中。

    迷信的好处有多大,我还没有做研究来找出答案,但我喜欢它。:)

    • 8
  6. Ante Gotovina
    2009-05-29T05:04:14+08:002009-05-29T05:04:14+08:00

    *BSD 是一个完整的操作系统,这意味着内核和用户空间是从同一个源代码树开发的,而 Linux 发行版是从不同的源代码中拼凑而成的。这就是为什么 BSD 系统感觉更有凝聚力和稳固性的原因。也有更好的记录。

    • 8
  7. Paidhi
    2009-07-14T05:28:29+08:002009-07-14T05:28:29+08:00

    只是几个问题:

    专业版(免费)BSD:

    • ZFS 文件系统/卷管理
    • 用于跟踪/分析的 Dtrace
    • 优秀且易于查找的文档(FreeBSD 手册、OpenBSD 常见问题解答、手册页非常好,并且确实有有用的示例)
    • 干净且坚如磐石的操作系统版本升级过程
    • 将核心操作系统与其他软件分离(“端口集合”)
    • BSD 许可证(这里没有许可证十字军)
    • 伟大的防火墙/数据包过滤器:PF(Linux iptables 让我头疼)

    魂斗罗 BSD:

    • 不支持虚拟化(VM 主机)产品(VMware、KVM、Xen、VirtualBox)
    • 8
  8. Dave Cheney
    2009-05-07T06:27:25+08:002009-05-07T06:27:25+08:00

    作为一名 Java 开发人员,最大的问题是没有适用于 *BSD 的主流 JVM。在每个人都把我烧死之前,我的意思是,目前还没有 Sun 或任何其他主要供应商(IBM、BEA/Oracle)提供的 JDK,所以你将永远是 linux 和 windows 用户的次要角色。

    • 7
  9. Adam Davis
    2009-05-07T06:28:13+08:002009-05-07T06:28:13+08:00

    许可

    BSD 和 Linux 之间的主要区别在于许可。

    您可以获取 BSD 代码库,对其进行任何更改,然后分发生成的二进制文件、出售它等,而无需打开您所做的源代码更改。

    这对 Apple 等公司非常有吸引力,因为对其股东的法律义务可能要求他们保持专有 IP 的“安全”。例如,Apple 的一些内核基于 FreeBSD。

    如果 Tivo 构建在 BSD 之上而不是 Linux 之上,那么 Tivo 就不会遇到多年前遭受的(次要)许可问题。

    一些实际差异

    • BSD 不像 Linux 那样流行,因此没有用于尖端硬件的驱动程序。
    • BSD 比 Linux 发行版少,而且它们的定义非常明确,因此您通常知道什么时候应该使用一个而不是另一个。
    • 它们都比许多其他因素更关注稳定性,因此通常用于高可靠性情况。

    -亚当

    • 5
  10. Kazimieras Aliulis
    2009-05-07T04:29:43+08:002009-05-07T04:29:43+08:00

    安全,安全和一次安全。

    • 1

相关问题

Sidebar

Stats

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

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

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

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

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

    • 3 个回答
  • Marko Smith

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

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +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