Linux内核介绍
今天给大家整理了桌面版Linux一些内核的分类介绍,包括官方kernel、第三方kernel。按照稳定性分stable和unstable、testing;按照维护周期分LTS(Long Term Support)和非LTS版本;根据官方kernel定制补丁优化的,统一归类第三方kernel,包括接下来要说的CK、LQX(ZEN)、PF、RT等。
Kernel版本介绍
如何查看当前系统内核版本:
$uname -a
Linux aart-x1c7 5.9.9-lqx1-1-lqx #1 ZEN SMP PREEMPT Thu, 19 Nov 2020 01:30:54 +0000 x86_64 GNU/Linux
如上显示内核版本是5.9.9,使用的是第三方补丁lqx,64位(x86_64)架构。
第一个数字5表示:内核版本号,当内核概念和代码有重大改变时才会变化。
第二个数字9表示:内核主要版本号(Major Revision),在2.6.x以前,偶数表示稳定版本,奇数表示开发版本。现在是有新的特性加入时,此号会变化。
第三个数字9表示:内核次要版本号(Minor Revision),新功能和新驱动加入时会变化。
第四个数字:lqx1-1-lqx表示补丁名称及版本号,也是用于区别同一架构类型普通内核。普通类型内核一般是一个数字,当有补丁或安全补丁加入时会变化。比如下面是某个debian系统内核显示:
Linux debian 4.19.0-12-amd64 #1 SMP Debian 4.19.152-1 (2020-10-18) x86_64 GNU/Linux
用uname查看时,会显示一个日期,通常表示内核编译的时间。
LTS(Long Term Support)版本
简单说LTS是一个针对稳定版本(stable)的长期支持策略,比如你购买家电,一般会有几年的一个保修期,保修期内厂家免费维修。LTS也类似这样一个策略,其主要版本不会变化,而是根据反馈的bug或安全问题提供补丁(patch)。“长期”是多久呢,一般五年以上。相对的也有STS(Short Term Support)版本,一般维护期是几个月到一年左右。
如何安装LTS版本内核?
在下载某个Linux发行版本时可以查看其使用的内核版本,然后上http://kernel.org查看是否LTS版本,通常在其官网也会说明此内核是否为LTS版本(比如Ubuntu)。有些Linux发行版使用最新的稳定内核,不一定是LTS。
第三方内核介绍
接下来给大家介绍几个第三方内核,这些第三方内核基本都是基于官方稳定版本,通过改动、定制并提供优化的补丁,目的在于提高桌面版Linux的性能和响应速度。这些第三方内核在Arch系统上是比较方便安装的,如果是其他发行版,要自行寻找安装方法了。以下说明的安装方法都是基于Manjaro系统。
CK补丁
CK源于一个澳大利亚计算机程序员的名字,叫“Con Kolivas”(摘自https://en.wikipedia.org/wiki/Con_Kolivas)。他最早设计了一个叫BFS(Brain Fuck Scheduler)的CPU调度算法,后来又开发了MuQSS替代了BFS(摘自https://www.linuxsecrets.com/archlinux-wiki/wiki.archlinux.org/index.php/Linux-ck.html)。主要用于提高桌面版Linux的性能,减少某些特定IO的影响。现在CK补丁是一个用户叫作“Graysky”的人继续维护着。
如何安装?(摘自:https://wiki.archlinux.org/index.php/Unofficial_user_repositories/Repo-ck)
$vi /etc/pacman.conf 编辑文件,在最后面添加:
[repo-ck]
Server = http://repo-ck.com/$arch
保存退出
$sudo pacman-key -r 5EE46C4C && sudo pacman-key --lsign-key 5EE46C4C
$sudo pacman -Syy
$sudo pacman -S linux-ck linux-ck-headers
注意:最好保持ck内核的版本与你当前系统的标准内核版本一致,否则可能会有兼容性问题。
LQX(ZEN)补丁
官网https://liquorix.net/,是用面向debian系统的配置和基于ZEN内核源码编译的一个版本(github地址:https://github.com/zen-kernel/zen-kernel)。面向桌面版Linux系统,目的也是提高性能和系统响应。
如何安装?
官网提供了基于debian系统的发行版如何安装的方法。
Arch系统:yaourt -S linux-lqx linux-lqx-headers 或者 yay -S linux-lqx linux-lqx-headers
repo源:
$sudo vi /etc/pacman.conf添加:
[liquorix]
Server = https://liquorix.net/archlinux/$repo/$arch
保存退出
$sudo pacman-key --keyserver hkps.pool.sks-keyservers.net --recv-keys 9AE4078033F8024D && sudo pacman-key --lsign-key 9AE4078033F8024D
$sudo pacman -Syy
$sudo pacman -S linux-lqx linux-lqx-headers
yaourt和yay安装,有一个编译过程,时间比较久。
PF补丁
源码地址:https://gitlab.com/post-factum/pf-kernel/-/wikis/README。
主要是应用了PDS CPU调度器和UKSM、GCC补丁,目的也是提高系统性能。
如何安装?
Arch系统:
$vi /etc/pacman.conf 编辑文件,在最后添加:
[home-thaodan]
Server = https://thaodan.de/public/archlinux/home-thaodan/x86_64/
保存退出
$sudo pacman-key --recv-keys BBFE2FD421597395E4FC8C8DF6C85FEE79D661A4
$sudo pacman-key --finger BBFE2FD421597395E4FC8C8DF6C85FEE79D661A4
$sudo pacman-key --lsign-key BBFE2FD421597395E4FC8C8DF6C85FEE79D661A4
$sudo pacman-key --refresh-keys
$sudo pacman -Syy
$sudo pacman -S linux-pf linux-pf-headers
RT补丁
RT(Real-Time),它是一个优化的内核,旨在保持低延迟、一致的响应时间和确定性。不一定比标准内核更好,针对特定的场景和系统有性能提升。
如何安装?
Arch系统:yaourt -S linux-rt linux-rt-headers 或 yay -S linux-rt linux-rt-headers
总结:个人觉得lqx版本的内核响应和性能在桌面版Linux系统中比较明显(我是笔记本装过ck、pf等补丁的内核),大家也可以根据自己的需求,安装合适的内核。
注意:这些第三方补丁基本会根据最新稳定标准内核同步更新,但是某些标准发行版内核不会更新很频繁。所以如果安装了最新的第三方内核,将会导致不可预料的兼容性问题,建议保持与现有发行版标准内核版本一致。比如:你安装的发行版标准内核是5.8.x,则安装的第三方内核建议是5.8.x,不要安装5.9.x,x不同影响不是很大。