近两年 Linux LTS kernel 对比请教,知道的前辈请分享下经验

2019-11-07 22:31:29 +08:00
 lzwt806

最近打算更新一下自己的系统,在内核版本的选择上犹豫了很久,特请有经验的朋友 /前辈给点意见,感谢!

需求信息:

1,个人偏向于长期支持版( LTS ) 2,既想老旧的硬件上跑得快,又想支持较新的硬件 3,希望内核稳定可靠

已知信息:

近两年的长期支持内核有 3.10 、3.18 、4.1、4.4、4.9、4.14 、4.19 A:4.4 支持期为 6 年,意味着 API 长期不会变化,但也不会有新功能加入,奇怪的是很多大企不选用它商用 B:4.17 之后删除了老旧架构的 CPU 代码,比如 K8 啥的(可能记错),但我想保留这部份代码 C:据老赵说,4.1 之后的内核比较臃肿,变得慢 D:测试了一些发行版本,4.4~4.12 之间的版本,明显的能体验到感觉反应偏慢,但 4.13 之后好像又快起来了 E:2.6.32 据说坚如磐石,今天和一位朋友聊天,他说好多新特性都没有,可能好多新硬件不支持,好多驱动和软件都编译不过

于是,望从事 Linux 系统方面工作或对内核比较了解的朋友 /前辈给点意见,简单说:就以上几个 LTS,您认为哪个版本最好或比较好(为什么)?我这样要求 /期望的效果,哪个版本最适合我?

9570 次点击
所在节点    Linux
51 条回复
CYKun
2019-11-07 22:42:00 +08:00
仅讨论 D:
你测试的时候是否排除了内核之外的因素?从经验来说发行版自身基础软件对速度的影响不会比内核版本更小。说到这里忍不住又要推销 manjaro,manjaro 自带一个管理工具可以方便的切换内核,实乃居家旅行之必备良品。
likuku
2019-11-07 22:46:28 +08:00
老硬件?跑啥的?常见应用的话,不妨换成 freebsd
codehz
2019-11-07 22:52:12 +08:00
不说用途一律主线内核)
lzwt806
2019-11-07 22:55:19 +08:00
@likuku @codehz 用于桌面操作系统、移动操作系统( LiveCD )
lzwt806
2019-11-07 22:57:41 +08:00
@likuku 回前辈:

最新的 GhostBSD 是基于 FreeBSD 的,LiveCD 我测试了 2 个小时,给我的感觉是:还在不能使用的阶段,驱动,性能,兼容性和 Linux 比差太多了。Linux 跑得很快的电脑,它打开个东西要等 10-20 秒不等,用着用着系统就错误,是我操作不对?

我是以 dd 命令写入 U 盘和直接量产到慧荣 SLC U 盘里测试的。还是说非要安装到硬盘上才能体现它的稳定可靠性?

以上纯属个人疑点和真实体验感受,无他意,如果是我操作不对,还请赐教

另外,FreeBSD 有没有带桌面的 LiveCD 可以体验?
feather12315
2019-11-07 23:02:37 +08:00
有商业支持的发行版,比如 CentOS、openSUSE,会 backports 一些有用的新 feature 进入自己维护的 lts 内核(比如 CentOS 8 是 4.18 ,openSUSE 是 4.14 )。
像 Debian 这种发行版,使用的是社区的 lts,社区的 lts 见 kernel.org

因为一些漏洞的原因(比如 specter 与 meltdown ),的确在修复后的版本中会变慢。但是可以通过一些启动参数关闭它。

对于既想在老旧的硬件上跑得快,又想支持较新的硬件:对于前者,使用新版本内核,自定义编译选项,把没用的 config 都关了;对于后者,交钱保平安。
codehz
2019-11-07 23:03:25 +08:00
正常使用直接跑主线就好了((
你桌面的稳定性主要不是内核造成的,基本都是垃圾驱动和垃圾桌面环境导致,折腾内核版本属于那种主次没搞清楚)))
换句话说,桌面使用出问题 99%的原因都不在于内核。。。
ooxxcc
2019-11-07 23:28:24 +08:00
表示完全不理解桌面系统用这么老的内核干啥…
lzwt806
2019-11-07 23:41:04 +08:00
@feather12315 你好前辈,请教:对于后者,交钱保平安,这句话怎么理解? ISO 只有一个,AMD64 的,既要兼顾旧硬件,又想支持新硬件(主要是 AMD 新出的 Ryzen 9 39xxX,Intel 的 9 代 CPU,好像某些 wifi 和网卡驱动也对内核版本有要求),你的经验是哪个版本更适合?换种方式提问:最新的 5.x 内核,对老旧的硬件支持好吗?

@codehz 回前辈,一直选择主线,我个人认为就是追新,老是更新系统其实意义不大,浪费时间,选用 LTS 就是不想变得太快,而且新版本我总是认为测试还不够。假如 2.6.3x 能安装所有的软件和所有的驱动,那我宁可选择 2.6.xx ,但实际上是不现实的。现在的系统用得很好,就是新的硬件没有驱动,如果能无限解决驱动问题,100 年不升级我都愿意。
likuku
2019-11-07 23:55:48 +08:00
原来是跑桌面?

我刚还在我 macbook pro 2012mid 上用 U 盘起来跑这 Ubuntu 15.10 GNOME 来测个外置硬盘,
所有硬件都支持良好(触控板,摄像头,macbook 自己的快捷键功能)
likuku
2019-11-07 23:57:31 +08:00
愿意折腾,那就标准 freebsd 自己装喜欢的桌面环境,省事还是装主流的 桌面 linux 发行版,尽量新的
codehz
2019-11-08 00:00:30 +08:00
@lzwt806 实际上你这个是不可能实现的需求,能实现是只是没遇到边界条件。
这里的所谓不可能三角就是稳定,新设备支持,省钱
要求新设备支持又要省钱,就用主线,稳定性也就那样
要求稳定且不付费,那就别想有新设备的支持了(谁帮你移植,然后完善测试呢)
要求稳定和新设备,就得付费请团队维护,而且成本理论上没有上限,越往后越贵,比如要一直用 2.6,最后的成本可能比重新开发一个新系统还高

理论上还存在第 4 个可能性,就是自己维护,确实可以省钱,但是这种情况势必要花费很多精力,然后也别想做事情了

----
然后我怀疑你对桌面环境有什么误解,你之前有遇到过桌面环境 bug,然后还不是用户态程序的锅的情况么。。。
然后桌面环境难道还需要保持 7*24 小时持续运行不间断的恐怖条件么(我甚至怀疑主流桌面环境能不能保证内存不泄漏,例如 GNOME3 和 KDE,多个版本都有被报告的内存泄漏 bug )
lzwt806
2019-11-08 00:02:41 +08:00
@likuku 2015 年的系统在 2012 年的硬件上当然跑得很好了,我的经验是:常用 /通用 /广泛使用的硬件(不是太偏门的)一般半年内 Linux 就会跟上,不常用的,不超过 2 年也会跟上,大企(华为,AMD,Intel 等)在 Linux 内核发布前半年基本都会提交代码。

我现在的系统能在 2017 年之前的硬件上跑得很好,但现在是 2019 年了,马上要 2020 年,硬件更新换代太快,现在的系统在新硬件上驱动已经明显跟不上了。
lzwt806
2019-11-08 00:11:16 +08:00
@codehz 要求没那您说得那么高,能找到的支持 Linux 的驱动,然后自己编译安装,主要是越来越多这种驱动对内核版本有要求了。这里最大的茅盾是对新旧设备的支持上。
codehz
2019-11-08 00:19:21 +08:00
@lzwt806 #14 然后你会发现,自行编译驱动就是不稳定的来源。。。
所以你都要自行编译了,还谈啥稳定不稳定的,哪个发行版维护的预编译版本不是一堆 patch 的。。。(每个 patch 都象征着前人踩的坑,你自行编译了多半还得踩坑)
这种情况建议直接准备多套内核,看前文你是要做 livecd 这种,那你可以准备个 grub2,然后搭配从低到高一系列内核版本,反正动态加载模块是支持版本区分的。。最后主线版本肯定要留一个(全部还在维护的 LTS+主线,也就 6 个,加起来百来兆,当然实际情况你可以先测试,再裁剪不需要的版本)
ps1aniuge
2019-11-08 00:57:29 +08:00
---困扰我多年的内核疑问!!!:---
内核甚至是 linux,是(脱袜子)脱老板发明并维护的。但为神马大家都不屌,脱老板的 lts 呢?难道说都拿 lts 当狗,屁么?

1 我的根本问题是:
为什么那么多牛 x 的 linux 发行版,不管是桌面版,企业服务器版,都不用最新 lts,次新 lts ?

2 我的想法是,所有厂家都应该用最新的 lts 版即 4.19,或次新的 lts 版即 4.14 。而
大便是好的,大便是基于最新版的 lts 内核。

3 为什么 ubuntu 1604lts,1804lts,都不基于 kernel 的 lts ?

4 为什么红帽企业版 678,从来都基于 [中国不出,外国不造的] 小众 kernel 版本。centos7=3.10 ,centos8=4.18 版内核。
以 rhel8 为例,别告诉我要基于 fedora28 的内核,不基于此版内核不就行了么?


5 往祖坟上刨根问底:
大企业的发行版,不基于 lts 是一种分裂,各自为政,不尊重脱袜子。
令 linux 增加驱动,修复补丁,都变得很复杂。
而理想情况是大家都基于某个最新,次新 lts,做分支。比如 4.14.ubuntu,4.14.centos
ps1aniuge
2019-11-08 00:59:13 +08:00
3 为什么 ubuntu 1604lts,1804lts,都不基于 lts 的 kernel ?
neoblackcap
2019-11-08 01:07:57 +08:00
@ps1aniuge 我来回答你为什么 RedHat 为什么选一个版本,不选 LTS ?因为它不需要。它内部可能有上百个 Linux 工程师,内核专家可能都有几十位。稳定?你买了订阅服务,3.0 的版本都给你搞 backport。跟商业公司有良好合作,硬件厂商都拿 RHEL 跟 Suse 去当测试平台,出厂就是保证能跑的。
至于个人用户,那都是社区的事情,源码给你了,都是开源的。又没收你的钱,你想怎么搞就怎么搞。
mikeguan
2019-11-08 01:10:50 +08:00
漏了 3.16 也是长期支持,4.9,4.14 都是 6 年支持
你可以用到什么设备?没有具体设备没法继续讨论。另外你自己用随意就好
felixcode
2019-11-08 01:40:07 +08:00
@lzwt806 楼主经常遇到因为内核造成系统不稳定的情况吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/617396

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX