选择困难?看这一篇就够了
新买了VPS,第一个问题就是:装什么系统?CentOS、Ubuntu、Debian——这三个是最常见的选择。
我用过这三个系统各好几年,今天给你一个全面的对比分析,帮你做出选择。
三大发行版概览
| 特性 | CentOS / Rocky Linux | Ubuntu | Debian |
|---|
| 基于 | RHEL | Debian | 独立 |
| 包管理 | yum / dnf | apt | apt |
| 发布周期 | ~2年 | 6个月(LTS 2年) | ~2年 |
| 支持周期 | 10年 | LTS 5年 | ~3年 |
| 默认桌面 | 无 | GNOME | 无 |
| 内核版本 | 保守 | 较新 | 中等 |
| 最新版本 | Rocky 9 / Alma 9 | 24.04 LTS | 12 (Bookworm) |
注意:CentOS 8已经停止维护,CentOS Stream变成了滚动更新的测试版。社区替代品是Rocky Linux和AlmaLinux,它们和原来的CentOS一样基于RHEL。
Ubuntu:新手首选
优点
1
2
3
4
5
6
7
8
| # Ubuntu的apt包管理器,软件包最全最新
$ apt search nodejs
Sorting... Done
nodejs/jammy 18.19.0+dfsg-6ubuntu1 amd64
evented I/O for V8 javascript - runtime executable
# 安装软件非常方便
$ sudo apt install -y nginx nodejs docker.io
|
- 社区最活跃:遇到问题Google一下,大部分教程都是Ubuntu的
- 软件包最新:apt仓库更新频率最高
- PPA支持:可以添加第三方软件源
- 企业支持:Canonical公司维护,有商业支持
缺点
- 自带较多不必要的包
- LTS版本之间升级可能有兼容性问题
适合场景
- Linux新手学习
- Web应用部署
- Docker容器宿主机
- 开发测试环境
常用版本选择
1
2
3
4
5
| $ lsb_release -a
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy
|
| 版本 | 代号 | 支持到 | 建议 |
|---|
| 24.04 LTS | Noble | 2029年 | 新项目首选 |
| 22.04 LTS | Jammy | 2027年 | 稳定可靠 |
| 20.04 LTS | Focal | 2025年 | 该考虑升级了 |
CentOS / Rocky Linux:企业级稳定
优点
1
2
3
4
5
6
| # RHEL系的yum/dnf包管理
$ dnf search nginx
Last metadata expiration check: 0:05:00 ago
nginx.x86_64 : A high performance web server and reverse proxy server
$ sudo dnf install -y nginx
|
- 极其稳定:基于RHEL,经过企业级测试
- 长期支持:10年生命周期
- SELinux:内置强制访问控制
- 企业标准:很多企业和金融机构的标准
缺点
- 软件包版本较旧(稳定的代价)
- 社区教程不如Ubuntu多
- CentOS 8停止维护带来的迁移问题
适合场景
- 企业生产环境
- 需要长期不更新的稳定服务器
- 金融、政府等对安全性要求高的场景
Debian:稳定与自由
优点
1
2
3
4
5
6
| # Debian同样使用apt
$ apt search nginx
nginx/stable 1.22.1-9 amd64
small, powerful, scalable web/proxy server
$ sudo apt install -y nginx
|
- 极致稳定:Debian Stable是出了名的稳如磐石
- 纯净轻量:默认安装非常精简
- 自由开源:严格遵循自由软件原则
- Ubuntu的上游:Ubuntu本身就是基于Debian
缺点
- 软件包版本偏旧(Stable分支)
- 社区相比Ubuntu小一些
- 新手友好度不如Ubuntu
适合场景
- 追求极致稳定的生产服务器
- 资源有限的VPS(轻量)
- 有经验的Linux用户
实际对比:安装Nginx
Ubuntu
1
2
3
4
5
| $ sudo apt update
$ sudo apt install -y nginx
$ sudo systemctl enable --now nginx
$ nginx -v
nginx version: nginx/1.18.0 (Ubuntu)
|
Rocky Linux / CentOS
1
2
3
4
5
6
7
| $ sudo dnf install -y epel-release
$ sudo dnf install -y nginx
$ sudo systemctl enable --now nginx
$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --reload
$ nginx -v
nginx version: nginx/1.20.1
|
Debian
1
2
3
4
5
| $ sudo apt update
$ sudo apt install -y nginx
$ sudo systemctl enable --now nginx
$ nginx -v
nginx version: nginx/1.22.1
|
区别:Rocky Linux需要额外安装EPEL仓库和配置firewalld防火墙,操作步骤多一些。
实际对比:Docker安装
| 步骤 | Ubuntu | Rocky Linux | Debian |
|---|
| 仓库配置 | 简单 | 稍复杂 | 简单 |
| 安装命令 | apt install docker.io | 需要添加Docker仓库 | apt install docker.io |
| SELinux | 无 | 可能需要调整 | 无 |
| 兼容性 | 极好 | 好 | 极好 |
1
2
3
4
5
| # Ubuntu/Debian 一条命令搞定
$ curl -fsSL https://get.docker.com | sh
# Rocky Linux 可能还要处理SELinux
$ sudo setenforce 0 # 临时关闭
|
我的选择建议
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| 你是什么情况?
│
├── 新手学Linux
│ └── 选 Ubuntu 22.04/24.04 LTS
│
├── 个人项目/建站
│ ├── 追求方便 → Ubuntu
│ └── 追求轻量 → Debian
│
├── 企业生产环境
│ ├── 有RHEL经验 → Rocky Linux
│ └── 没有特殊要求 → Ubuntu LTS / Debian
│
└── Docker为主的部署
└── Ubuntu 或 Debian(Docker支持最好)
|
我个人的选择:新项目一律Ubuntu 22.04 LTS,因为教程最多、社区最活跃、软件最新、Docker支持最好。如果是特别在意资源占用的小VPS,会选Debian。
系统选好之后
选好系统只是第一步,接下来需要做安全配置。推荐阅读VPS新手完全指南和Linux最常用的50个命令。
不管选哪个系统,Linux的核心命令都是通用的,学一个,三个都会用。