从系统管理员的角度来看,Linux 和 FreeBSD 系统之间的主要区别是什么?
Linux 与 BSD 有哪些具体而显著的区别(内存/资源/用户管理、其他管理方法、配置、文件系统等)?
从 Linux 切换到 BSD 是否会很繁琐和/或困难和/或令人困惑?
这些系统有哪些共同特征?
答案1
简要地...
Linux 是一个内核,而 FreeBSD 是一个操作系统。所以你真的不能随心所欲地比较它们。Linux 的主要发行版都有不同程度的兼容性和差异……但我会尝试至少满足你提到的要求:
- 有几个不同的包管理器(dpkg 和 rpm 可能是最受欢迎的)适用于 Linux(和其他操作系统)。FreeBSD 刚刚从 pkg_install 切换到 pkgng。从管理角度来看,您通常只需要知道它们都有包管理。
- 大多数使用相同的用户管理,但不能保证。大多数将用户和密码保存在
/etc
文件夹中的文件中,尽管 FreeBSD 在该文件夹中使用数据库,因此,一般来说,想法相同,但并不完全相同。 - 内存,没有太大区别,只是 Linux 通常有 OOM,当 RAM 用完时会终止进程。当 RAM 已满时,FreeBSD 会优雅地拒绝对新内存的请求,这会导致编写不当的应用程序自行出错……
- 配置,您可能应该使用某种配置管理工具。通常,它都是一堆文本文件,就像大多数 *nix 环境一样。
- 文件系统 -
ext
Linux 和ufs/ffs
FreeBSD 家族。两者现在都可以使用 ZFS,不过 FreeBSD 本身就支持 ZFS,而 Linux 可能永远不会支持,因为它的许可选择。 - 切换通常意味着从头开始重建已有的一切,几乎不会带来任何变化。应用程序的配置通常在每个版本上都类似,但不会完全相同。
“乏味、困难、令人困惑” - 是的。如果你熟悉其中一个,那么另一个也会如此。BSD 倾向于对其所做的一切、开发过程、文件系统布局等施加更多的结构。Linux 只是一个内核,因此由发行版来组织其他一切(它们倾向于使用 GNU 用户空间,但即使在那里,也有一些从 BSD 和其他项目中借用实用程序)。Linux 流程的灵活性往往允许更多人参与该流程。
需要注意的是,各种 Linux 发行版通常喜欢弄乱其软件包的配置。因此,你会发现各种疯狂的配置不是原始软件的一部分。他们这样做是为了让软件更易于配置 - 或者说,即使不是结果,这也是他们的意图。BSD 往往不会过多地处理这些配置。当您在许多流行的 Linux 发行版上安装 Apache 时,配置会分散到各个目录中,其中包含您在 Apache 网站上找不到的配置实用程序等等。在 FreeBSD 上,配置文件安装在特定于应用程序的目录中,但除此之外,它们与来自 Apache 的配置文件完全相同。
我是 FreeBSD 的忠实粉丝,但您不能简单地用“更好”来形容它们。它们各有优势。Linux 现在更受欢迎(除非算上运行源自 BSD 的软件的系统,其中包括 MacOSX、iOS 以及大量 Cisco、Juniper、EMC 和其他设备)。BSD 的历史更长,在 AT&T 诉讼案(很久以前就已解决,没有赢家)之前更受欢迎。诸如此类……