Ubuntu Server LTS切换HWE/GA 内核

在后端服务器领域,我们基本都会使用Linux作为标准的系统平台,目前最流行的发行版无疑是RedHat系(CentOS、Redhat)和Debian系(Ubuntu、Debian)的Linux。这些操作系统的新版本发布时都会尽量的使用最新的稳定版Linux 内核并承诺提供多年的持续维护,在这个维护期内不断有新的硬件上市,怎么用以前的老的Linux 内核支持最新的硬件或者最新的Linux特性的采用就是一个比较费力的事情。

为了解决这个问题,RedHat系和Debian系采取了不同的策略:

  • Redhat系的策略是借助他们专业的Linux开发人员在当前的内核上打补丁、做人工移植
    • Fedora 作为最新技术,最新硬件和最新Linux内核的前沿版本。在Fedora上进行前瞻性的开发和验证,Fedora每六个月发布一次大版本,大约每六个月就会推出一次新版本,而且大约只支持一年左右
    • CentOS Stream作为Fedora验证过的下游发行版,一般Fork自某个次新的Fedora进行整合,并做稳定性、兼容性的验证。CentOS Stream其实已经是非常稳定的服务器操作系统了,基本坑都被Fedora趟过,它一般可以等同于Redhat的preview版本。
    • Redhat 作为CentOS Stream的下游,作为最稳定的版本。一般支持10年,非常适合极致稳定的使用场景
  • Ubuntu的策略恰巧相反,它提供2种内核一种是HWE内核一种是GA内核
    • Ubuntu Server GA内核:Ubuntu Server LTS版本发布时的最初的Linux LTS内核,后续Ubuntu基本只会做Bug Fix和安全补丁,很少引入新特性。

    • Ubuntu Server HWE内核:即"硬件启用(HWE,HardWare Enablement)内核",HWE 内核通常包含较新的Linux内核版本(如 6.x 系列),提供增强的硬件支持和改进的功能。升级后可让充分利用最新硬件特性,提高系统的整体性能和硬件兼容性。HWE会定期更新,不过HWE内核不一定是Linux LTS内核,但是HWE内核会在Ubuntu桌面版本上进行提前测试后引入。

Ubuntu Server 切换HWE/GA内核

以Ubuntu Server 22.04 LTS为例,它发布时使用的时Linux 5.15 LTS内核,这是一个受Linux社区长期支持的版本。我们可以通过uname -r来查看

Ubuntu Server 保持在GA内核上

如果我们想Ubuntu Server LTS固定在这个Linux LTS版本上或者由HWE内核降级到GA内核,只接受必要的bug fix和安全补丁,那么可以执行sudo apt install --install-recommends linux-generic来实现

Ubuntu Server 启用HWE内核

如果我们想启用HWE内核,那么我们可以执行sudo apt install --install-recommends linux-generic-hwe-xxx.xx来启动,这时Ubuntu Server会后续不断的更新Linux内核版本,但是不一定是Linux LTS版本。稳定性也不错,但是不一定有GA内核好,胜在硬件兼容性更佳。其中xx.xx是Ubuntu Server LTS的具体的版本,比如Ubuntu Server 22.04 LTS,我们可以sudo apt install --install-recommends linux-generic-hwe-20.04 ,执行后再进行sudo apt update && sudo upgrade,最后sudo reboot就是最新的HWE内核了

比如当前Ubunun Server 22.04 LTS的HWE内核已经是Linux 6.5了,但是Linux 6.5不是LTS版本

总结

Redhat和Ubuntu的不同策略有好有坏,见仁见智。我一般喜欢倾向使用长期验证后稳定的Linux内核,所以Ubuntu Server我也喜欢使用GA内核。

一般建议对最新的硬件,如果你希望获得最好的兼容性和性能释放,尽量选择最新的CentOS和Ubuntu Server LTS GA内核

参考

相关推荐
JosieBook1 小时前
【远程运维】Linux 远程连接 Windows 好用的软件:MobaXterm 实战指南
linux·运维·windows
文档搬运工1 小时前
Linux MInt启动速度的优化
linux
Broken Arrows1 小时前
Linux学习——管理网络安全(二十一)
linux·学习·web安全
程序员爱钓鱼1 小时前
Go语言实战案例 — 工具开发篇:实现一个图片批量压缩工具
后端·google·go
Light602 小时前
领码方案|Linux 下 PLT → PDF 转换服务超级完整版:异步、权限、进度
linux·pdf·可观测性·异步队列·plt转pdf·权限治理·进度查询
羚羊角uou2 小时前
【Linux】命名管道
linux·运维·服务器
IT 小阿姨(数据库)3 小时前
PgSQL监控死元组和自动清理状态的SQL语句执行报错ERROR: division by zero原因分析和解决方法
linux·运维·数据库·sql·postgresql·centos
THMAIL3 小时前
量化股票从贫穷到财务自由之路 - 零基础搭建Python量化环境:Anaconda、Jupyter实战指南
linux·人工智能·python·深度学习·机器学习·金融
让子弹飞023 小时前
36.2Linux单总线驱动DS18B20实验(详细讲解代码)_csdn
linux·ubuntu·驱动的分离和分层
ChinaRainbowSea3 小时前
7. LangChain4j + 记忆缓存详细说明
java·数据库·redis·后端·缓存·langchain·ai编程