互联网大厂(如阿里、腾讯、字节、美团等)的工程师在生产环境和开发环境中使用的 Linux 发行版并不完全相同,这主要取决于具体的角色(运维 vs 开发)以及业务场景。
以下是详细的现状分析:
1. 生产环境(服务器/集群)
在生产环境中,稳定性、长期支持(LTS)和生态兼容性是首要考虑因素。目前主流的选择高度集中:
- CentOS / Rocky Linux / AlmaLinux:
- 历史地位:过去十年间,CentOS 是绝对的主流,因为它与 RHEL(Red Hat Enterprise Linux)二进制兼容且免费,非常适合企业级部署。
- 现状变化:由于 CentOS 8 已停止维护(EOL),大厂正在大规模迁移。
- 国内大厂(如阿里、腾讯):倾向于使用自研或深度定制的发行版(见下文)。
- 国际大厂及外企:更多转向 Rocky Linux 或 AlmaLinux,作为 CentOS 的直接替代品。
- Ubuntu LTS:
- 在涉及容器化(Docker/Kubernetes)、AI/机器学习训练、以及部分云原生基础设施时,Ubuntu LTS(如 20.04, 22.04)非常流行。这是因为其软件源更新快,社区对新技术的支持最好。
- 自研发行版(国内大厂特色):
- 阿里云:广泛使用 Aliyun Linux(原 Alibaba Cloud Linux),基于 CentOS 优化,针对 ECS 实例进行了内核级的性能调优。
- 腾讯云:使用 TencentOS,同样基于 CentOS/RHEL 体系,针对腾讯的业务负载做了大量优化。
- 华为云:使用 EulerOS。
- 字节跳动:内部也有基于 CentOS 深度定制的 ByteOS(虽然对外公开信息较少,但内部基础设施通用)。
2. 开发环境(工程师本地电脑)
对于一线开发工程师(后端、前端、算法等),选择权通常更大,主要取决于个人习惯和公司规范:
- macOS:
- 这是最主流的选择。绝大多数互联网大厂的研发人员使用的是 MacBook Pro/Air。
- 原因:macOS 基于 Unix,拥有优秀的终端体验,且兼顾了图形界面开发的便利性。同时,由于 Docker Desktop 和 WSL2 (Windows Subsystem for Linux) 的成熟,Mac 上的开发体验已经非常接近原生 Linux。
- WSL2 (Windows Subsystem for Linux):
- 在 Windows 阵营的大厂(或预算受限的团队),WSL2 成为首选。它允许在 Windows 上运行一个完整的 Linux 内核(通常是 Ubuntu 发行版),性能接近原生,且能无缝调用 Windows 资源。
- 原生 Linux 桌面:
- 部分资深后端工程师、运维人员或系统架构师会直接使用 Ubuntu 或 Fedora 作为主力操作系统。
- Fedora 因其拥有较新的内核和软件包,常被喜欢尝鲜新技术的极客工程师使用。
- Ubuntu 则因文档丰富、社区支持好,是许多从 macOS 转 Linux 用户的首选。
3. 为什么会有这种差异?
- 生产环境求稳:必须使用经过严格测试、有明确 SLA 保障的版本,且需要长期的安全补丁支持。因此,RHEL 系(及其衍生版)和 Ubuntu LTS 是标准答案。
- 开发环境求快:工程师更看重开发效率、工具链的易用性以及硬件的便携性。macOS 提供了最好的平衡点;而在纯 Linux 需求下,大家更倾向于选择社区活跃、文档齐全的版本。
总结
- 如果你问的是“服务器上跑什么”:主要是 CentOS(旧)、Rocky/Alma(新)、Ubuntu LTS,以及国内大厂的自研定制版(Aliyun Linux, TencentOS 等)。
- 如果你问的是“工程师电脑上装什么”:绝大多数是 macOS(搭配 Docker/WSL),少部分重度 Linux 用户会使用 Ubuntu 或 Fedora。
轻量云Cloud