操作系统比较
macOS:Unix 工作站,而不是服务器
macOS 在最友好的大众市场桌面中隐藏了经过认证的 Unix 操作系统,这种组合值得认真对待:Darwin 的 BSD 用户区使 Linux 管理员的终端习惯直接转移。无论工作负载是人(而不是数据包),它都能发挥作用:管理台、开发机器以及构建另一端需要 Xcode 的任何东西。它停止盈利的地方是服务器机房,诚实地说明边界是本文的大部分价值。
要点
- 核心已通过 UNIX 03:Darwin 认证,具有 BSD 用户空间,因此 grep、awk、ssh 和 shell 脚本可以按照肌肉记忆所期望的方式工作,并具有不同的小标志词汇(BSD sed、BSD grep)和为 GNU 核心编写的咬合脚本。
- 包管理是 Homebrew,因此每个剧本都需要第二种方言:brew 服务不是 systemd,/usr/local 和现在的 /opt/homebrew 在 Intel 和 Apple 芯片路径之间分割二进制文件。
- 许可关闭了数据中心的大门:Apple 的 EULA 只允许在 Apple 硬件上使用 macOS,因此合法的 macOS“服务器”位于 Mac mini 壁橱或租用的 Mac 托管中,而不是虚拟化的商品硬件上。
- 服务器产品在实践中已经消失:Server.app 已停止使用,并且没有针对 macOS 的认真的托管堆栈、面板或设备文档,因此在其上构建的任何基础设施计划都是建立在沙子上的。
- 对于操作而言,它是一流的桌面:硬件加速虚拟化 (Virtualization.framework)、可靠的 SSH 配置支持以及字体/屏幕截图/剪贴板堆栈,使运行手册和票证工作感觉比大多数 Linux 桌面更好。
- 队列管理通过 MDM 运行,而不是虚拟机管理程序或映像服务器;如果您的资产必须跨办公桌强制执行磁盘加密、证书和操作系统更新,macOS 工具(MDM 解决方案)已经成熟,但与服务器管理是一个独立的学科。
一线手记
一位客户于 2019 年在 Mac mini 壁橱上构建了他们的临时堆栈,它运行得很好,直到 Apple 芯片制造了一半的工具仅适用于 MacOS-X86。该舞台现在在适当的 Linux 基础设施上运行,Mac mini 做它们应该做的事情:开发人员办公桌。
常见问题
我可以在服务器上运行 macOS 吗?
物理上在 Mac 硬件上,是的,Mac 迷你壁橱是 CI 构建机器的合法利基。作为通用托管平台,不行:Apple 硬件不支持虚拟化,没有生态系统,并且 EULA 禁止虚拟化。
我所有的 Linux 命令行习惯都会改变吗?
主要是。 BSD 用户空间在边缘有所不同:sed -i '' 语法、不带 --archive 的 cp 以及不同的 sort/grep 标志。可移植性脚本应该避免这些边缘或在两者上进行测试。
Homebrew 是生产工具还是便利?
方便。它非常适合工作站,但对于车队而言,任何重要的东西都不应该依赖它;像对待本地构建、版本控制和记录的工具一样对待 Homebrew 安装的二进制文件。
我们的基础设施团队在 macOS 中扮演的角色是什么?
管理和开发工作站。将终端力量保留在那里,在其他地方运行服务器工作,并在浪费一周之前停止关于桌面操作系统选择的争论。
Kinetikatech 如何在操作系统比较方面为您提供帮助
说实话,很多团队都是自己先试过才来找我们:根据生产经验进行头对头操作系统评估:发行版、BSD 和 Windows 替代品在支持生命周期、安全状况和凌晨 3 点可操作性方面进行比较 - 测量而非营销。我们的Linux 服务器安全和服务器管理服务就是为了让您不必在操作系统比较上交学费:部署、值守与凌晨 3 点的突发状况,都由我们负责。