近两年 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,您认为哪个版本最好或比较好(为什么)?我这样要求 /期望的效果,哪个版本最适合我?

9853 次点击
所在节点    Linux
51 条回复
CRVV
2019-11-09 12:44:37 +08:00
Linux 5.1 - 5.1.5 的 btrfs 有个 bug,我就把一台机器的内核换成 LTS 了
Linux 的 5.2 的 Intel AX200 的驱动又有 bug 导致不能用,我的一台用这个网卡的机器被我换到了 5.1

个人观点是,mainline 显然不适合,stable 通常没什么问题但偶尔也会出点事,用 LTS 通常不会有问题
太新的硬件有可能所有版本的内核都出问题( Intel AX200 的驱动在所有版本上都有 bug,只是有的影响小一点)

如果你的需求是 桌面操作系统、移动操作系统( LiveCD )
那根本没必要考虑这个问题,直接用你选的发行版给的内核就完事了,出了问题再说
lzwt806
2019-11-10 11:06:20 +08:00
@msg7086 看了所有的回复,前辈的回复对我最有帮助,如果不是经验丰富或内部人士,不可能得到这些高深(偏门 /专业)见解的,所以深表感谢!

另外回复前辈,Debian 10 和 ubuntu 19.10 刚出来我就测试了,最少我发现的都有 3 个以上问题,Debian 维护了 2 年才发部的 stable 版本,还有存在一些很基础或很不应该存在的 bug,我认为他们做事不够严慎,或者说他们没有以前那么认真负责了,于是选择了放弃。

另外 2 年前,测试过 centos,gentoo,没几分钟桌面就挂了,印象极差。

我不否认:大多数发行版本安装在硬盘上以后,有足够的内存和强劲的 CPU 资源,都很稳定
也不否认:大多数 Linux 发版本只跑服务,就那么几个应用或进程,都很稳定

但是:跑桌面有时比跑服务器更考验技术,对稳定性要求更严苛,因为通用 PC 不管算力还是 RAM 都非常有限,而且软件多,软件相互之间竞争有限的硬件资源,加上软件开发者水平参差不齐,代码质量有优有劣,所以跑服务器很稳定的,装上 DE 后不一定经得起考验。

而:移动操作系统( LiveCD )比上面说的两种情况要求更严苛,因为他甚至不依赖硬盘,除了系统运行需要 RAM 之外,还要把很有限的 RAM 分一部份给用户当存储空间。

就以我自己维护的 CDLinux 来说可以选择只载入主要的文件到内存以最小内存占用的方式运行,也可以选择完全把 squashfs 包载入内存中运行,不依赖硬盘,所以不管是内核还是软件的选择上都是反复考量了的。就如前面所说,最新的不一定是最好的最稳定的,相反,一个能在自己系统上运行得很好的软件才是适合自己的。为了尽可能的让系统更稳定可靠,这个提问的目的就是想从基础上一步步抓起。
lzwt806
2019-11-10 11:08:37 +08:00
@所有人 此帖到此为止,我已经找到自己想要的答案的了,感谢所有浏览以及参与回复本帖的朋友 /前辈们!
msg7086
2019-11-10 11:47:12 +08:00
@lzwt806 很基础的 Bug 是指?
其实没有任何一个系统敢说 Bug Free,就像是 RH 系营收几个亿但是依然每年都在出补丁修 Bug 的。
同样也很少有发行版会把 Bug 修完以后再发布。因为,修不完的。
至于你的特殊需求,我也没办法给出很好的建议,只能说没有什么完美的方案,尽量用 LTS 内核、用户量大的系统,可以最大程度规避问题。桌面版就是 Ubuntu,服务器就是 Debian / RH,用得人多,问题暴露得多,越有可能解决。我自己的 Linux Rescue LiveCD 就是基于 Debian。

毕竟,花 200 刀买来的 Windows 和花 600 刀买来的 Windows Server 也不是 Bug Free 的呢。
lilydjwg
2019-11-10 20:19:05 +08:00
毫无疑问你该用当前最新的那个 LTS。

那些旧的 LTS 存在的意义是,你的设备在几年前已经在用当时最新的 LTS 版本了。因为不同内核版本之间会有差别(特别是内核驱动啥的),本来充分测试过的版本你不用,冒然升级可能导致系统出现问题,收到大量用户投诉。当然如果你有时间和财力去测试、匹配新版内核,就放手去做吧。
lilydjwg
2019-11-10 20:23:47 +08:00
> 4.4~4.12 之间的版本,明显的能体验到感觉反应偏慢

这是修那个 spectre 系列漏洞导致的性能下降吧。你如果不是云服务端、不跑不信任的代码,可以导致禁用掉它们。

> 2.6.32 据说坚如磐石,今天和一位朋友聊天,他说好多新特性都没有,可能好多新硬件不支持,好多驱动和软件都编译不过

2.6.32 早不支持了。你要用的话你得自己修复各种 bug。你有那个能力吗?执着于不支持的版本,你就是孤军奋战了。更不用说很多新的软件无法运行( systemd、docker 等),而使用旧版本不受支持的软件意味着更多没人修只有人尝试利用的漏洞。
btchinainfo
2019-11-12 19:23:13 +08:00
manjaro 很一般吧,话说回来,distro Watch 排名真的靠谱么
Cu635
2020-12-24 11:04:50 +08:00
@feather12315
CentOS 不是商业支持的,而是社区支持。
当然,现在 CentOS 已死……
lzwt806
2020-12-25 00:04:11 +08:00
@purplewall 前辈你好,昨天测试了最新的( 20201203 ) manjaro,驱动没得说,好多新硬件都支持。但我看了一下里面的文件结构,在 /MANJARO_XFCE_202/manjaro/x86_64/下有 desktopfs.sfs ,mhwdfs.sfs ,rootfs.sfs ,livefs.sfs ,相当于把整个系统分成了几个部份打包的。

那么问题来了,我在订制 debian 时,就一个 filesystem.squashfs,直接解开是个完整的 rootfs,直接 chroot 到 squashfs-root 就能在下面 apt get 及各种操作,那像 manjaro 这样的分成了好几个模块的,我要如何 chroot 实面像 debian 一样的功能?有此问是因为分成了模块,就意味着文件很分散,可能一个软件的文件分解到了多个模块中。

在 CDLinux 中,所有的更改都放到了 /.rw 目录中,我只需要把这些文件放在任意一个模块即可,但在 manjaro 中是否也把更改后的文件放在了某一个目录中?

另外,假如内核不变的情况下,编译更新内核开源驱动,比如 4.8 的内核,编译 5.9 的内核驱动,如:/lib/modules/4.8.17_cdl0/kernel/drivers/gpu/drm/i915/,这个 i915 使用 5.9 的源码,在 4.8 的内核上编译,是否可行?如果能正常编译,是否也能正常安装到 4.8 的内核上并且正常工作?
lzwt806
2020-12-25 00:14:12 +08:00
@purplewall @所有人 意思是:我只想对现在的系统进行驱动升级,以支持最新的硬件。我试过,/lib/modules/4.8.17_cdl0/kernel/drivers/里面的驱动和 xorg 的驱动不是一回事,即便我把 xorg 的最新 amdgpu 驱动编译安装了,也不会支持最新的 amdgpu 显卡,加了 /lib/firmware/固件,一样不行,所以,应该是要编译内核模块的 admgpu 驱动才行。为什么不直接把内核升级到 5.9 ?因为我还没有那个能力。以我现在的水平,看能不能从简单的入手只升级驱动。望指教,感谢!
purplewall
2020-12-25 19:37:19 +08:00
@lzwt806 不是很懂上面说到的 CD image 中的内容和定制有什么关系?第二个基本没明白怎么回事.....
如果只是想要升级内核 manjaro 有很简单的办法,设置里面有一个 Manjaro Settings Manager,里面有专门的内核更换 GUI 可以直接修改,只要在启动时在 GRUB 处切换一下就行。

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

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

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

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

© 2021 V2EX