上周又有人问,服务器装哪个Linux。
这问题放2020年之前根本不算问题,装CentOS 7就完了,教程一搜全是它。现在不行了:CentOS 8在2021年底提前停止支持,CentOS 7撑到2024年6月30日也到头了。
手头最后几台CentOS 7是在停服前后换掉的,换的过程里把几个主流发行版又过了一遍。记一下,免得下次有人问还得重新讲一遍。

有个判断可能跟预期不太一样:这事在技术上真没什么可争的,Ubuntu LTS、Debian stable、Rocky这几家都能把活干好。会把候选砍到只剩一两个的,往往是几个跟技术无关的条件。
先查CPU,比挑发行版更靠前
RHEL 10把硬件基线抬到了x86-64-v3,意思就是CPU得支持AVX2这一代指令集。Rocky Linux 10跟着走,AlmaLinux 10默认也是v3。x86-64-v3大概是Haswell(2013年)之后的水平,听着不老,但机房里的老机器比你想的多。
没确认就动手的后果很直接,安装器一起来就报错,白跑一趟。上机之前花五秒钟查一下:
grep -o 'avx2' /proc/cpuinfo | head -1
有输出就说明能上v3基线。没输出,要么用AlmaLinux额外提供的那份x86-64-v2构建,要么退回9.x系列,别硬来。这是代价最高、也最容易避免的一个坑。
迈过硬件这道坎,剩下的就是那几件现实的事了:这台机器你还要管几年、有没有人拿合规卡你、团队以前熟不熟。支持周期这条得特别注意LTS两个字,Ubuntu的过渡版只有9个月支持期,拿它跑生产就是给自己埋雷,这个错见过不止一次。
几个发行版,说说实际感受
Debian一直是偏爱的那个。它干净,系统里没什么商业化的私货,apt/dpkg的成熟度也高,装好配好之后几年不管它都行。眼下稳定版是2025年8月发布的Debian 13(trixie),常规支持到2028年8月,LTS再延到2030年6月,付费ELTS还能往后拖。代价是软件确实老,13自带PostgreSQL 17、Python 3.13,稳但算不上新。要新的就得加backports或者第三方源,一加源,它"干净"的那点优势就打了折。Debian 12(bookworm)已经转oldstable了,不再有常规安全更新,新机器别再装它。
如果只能给一个默认答案,那就是Ubuntu Server LTS,理由很俗:搜问题搜出来的答案大概率是Ubuntu的。Docker、K8s、各家云厂商的镜像、各种开源项目的官方安装文档,第一顺位支持的基本都是它,能省下大量翻资料的时间。
最新是2026年4月的26.04 LTS(Resolute Raccoon),标准支持到2031年4月,开了Ubuntu Pro之后ESM能拉到十年;上一版24.04 LTS支持到2029年4月,也还稳。26.04有个变化挺实在,NVIDIA CUDA和AMD ROCm进了官方仓库,要跑推理的机器省事不少。Canonical节奏快,每两年一个LTS、中间夹着过渡版,生产环境只跟LTS就行了。
RHEL卖的从来是"确定"两个字:十年支持周期、FIPS / Common Criteria / CIS / STIG那一整套认证,还有一张能提的工单。8 / 9 / 10三代现在并行,分别支持到2029、2032、2035年的5月。要给数据库厂商报认证、或者合规那边点名要红帽的,基本没别的选,就是得掏订阅费。之前碰到过一个中间件只认证了RHEL、整个方案从Debian改回红帽系的情况,这种事遇上一次,往后选型都会先问合规。
预算批不下来又想要一样的东西,就看Rocky和AlmaLinux。两家都是CentOS转向Stream之后社区搞起来的RHEL重建版,现在都挺成熟,周期直接对标RHEL,还不花钱。Rocky由CentOS联合创始人Gregory Kurtzer发起,追求跟RHEL逐字节一致(bug-for-bug),在HPC和科研圈口碑不错。AlmaLinux由CloudLinux掏钱、独立非营利基金会运营,2023年做了个转向:不再追求完全一致的重建,改成ABI兼容。好处是它能比RHEL更早发补丁,也能继续支持RHEL已经放弃的硬件。
有两个地方值得记一下,当初就是在这儿栽的。一是Rocky 不保留旧的次版本,9.4一旦被9.5顶掉,9.4立刻EOL,而RHEL和AlmaLinux是保留旧次版本的——如果应用绑死在某个特定的9.x小版本上,Rocky这条策略会给你添麻烦。二是前面提过的v3,老机器在AlmaLinux上能用v2构建救回来,Rocky没这条路。
CentOS Stream到现在还有很多人当成"新版的CentOS"。
这误解挺危险。它的定位是RHEL的开发前沿分支:代码先进Stream,验过了再进RHEL。所以它比RHEL更早,也更没定型,补丁一直在滚,不是一个冻结的稳定目标;支持周期也只有5年(Stream 10到2030年5月)。给RHEL开发测试软件、要提前适配新特性,用它是对的;拿它当生产基线就偏了。
openSUSE Leap相当于"免费的SLES",跟商业版共用代码基础,支持周期给得很足,Leap 16.x整条线维护到2034年7月,SLES加上LTSS能拉到13年。真要"十年不换"的系统,能满足它的没几个。但Leap 16.0(2025年10月)变化不小:安装器从用了二十多年的YaST换成了Web版Agama,日常管理交给浏览器里的Cockpit,安全模块也从AppArmor换成了默认enforcing的SELinux。老用户升级前先看看这些。上一代15.6已经在2026年4月底结束支持了。
还有两类不在上面这些里。容器基础镜像一般用Alpine,musl libc加BusyBox,镜像几MB,但它跟glibc系不通用,编带C扩展的东西经常要额外折腾。信创场景目前主要看openEuler和Anolis OS:openEuler 24.03 LTS发布于2024年6月,6.6内核,x86_64 / ARM64 / RISC-V都支持,社区LTS六年,对鲲鹏、昇腾的适配最深,信创名录里认可度最高;Anolis OS 23(2023年10月)由阿里主导,主打对CentOS / RHEL的二进制兼容,迁移最省事,5年LTS,在阿里云上还有针对性优化。再往上还有基于openEuler的商业版,麒麟、统信UOS那些。
换到rpm系,第一周最难受的是命令对不上
从deb系换到红帽系,头一周基本都在查"这个命令对面叫什么"。常用的就这几条,抄下来放手边:
# Debian / Ubuntu apt update && apt upgrade -y apt install nginx apt search nginx # RHEL / Rocky / AlmaLinux / CentOS Stream dnf makecache && dnf update -y dnf install nginx dnf search nginx
迁移时还有两个容易卡住的地方。红帽系里podman占着docker这个命令,装Docker的时候会撞上;SELinux会给bind mount重新打标签,一堆在Ubuntu上跑得好好的容器挂载,挪到红帽系就起不来,报错还看不出跟SELinux有关。这类问题Ubuntu的教程里不会提,遇上了往SELinux上想。
旧版Debian的源会被下架
Debian的EOL版本,软件源会从各镜像站移除。还在跑的Debian 10 / 11机器,apt update会直接失败。要么改成归档源(archive)地址,要么尽快升掉。这个现象看着像网络问题,其实不是。
实际是这么排的
通用场景Ubuntu Server LTS;想要红帽系又不想花钱,老机器或看重补丁响应速度选AlmaLinux,要跟RHEL严丝合缝选Rocky;合规点名就给RHEL;追求装完不折腾用Debian stable;要十年以上周期上openSUSE Leap。
生命周期这种数字变得快,各家公告一出就作废,真要下手之前还是去官网页面确认一下。接手别人的机器、或者用云厂商老镜像的时候,也先看看它到底是什么:
cat /etc/os-release uname -r