linuxの本質. kernelとほかGNUアプリの集合体で各種ディストリが用意されている.

本家様 https://kernel.org/

各ディストリビューターがどのバージョンのkernelを採用したかは https://distrowatch.com/?language=JP を参照かな.

ここではRHEL系のRockyLinux9/8, CentOS7をメインにubutunも扱ってます.

各種LinuxOSに搭載されている kernel を丸ごと切り替えることは可能です. ただコンパイル操作が必要で面倒かな. 参照 linuxカーネル再構築

一応、他のパッケージと同様にdnfでkernelも変更することができるリポジトリがあり、
ここELRepoでRHEL系のOS向けカーネルが提供されている

カーネルを変更することで、恩恵として動作が早くなることが多いです. 計算が早くなるとは断言できませんけど

だが、そのディストリビューターのサポートから外れます.
もともと保証なんてないって思いますが、質問が出来なくなる事にご留意ください.

ELRepoでRockyLinux9のkernelを更新してみる

使うのは ELRepo の kernel-ml(mainline stable)版
ELRepoのリポジトリを組み込めば更新できる

[root@rockylinux9 ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
[root@rockylinux9 ~]# dnf install https://www.elrepo.org/elrepo-release-9.el9.elrepo.noarch.rpm -y

提供されているパッケージkernel/repository
現在導入されているkernelの確認

[root@rockylinux9 ~]# cat /etc/redhat-release
Rocky Linux release 9.5 (Blue Onyx)
 
[root@rockylinux9 ~]# dnf list installed |grep "^kernel"
kernel.x86_64                                    5.14.0-503.14.1.el9_5               @anaconda
kernel-core.x86_64                               5.14.0-503.14.1.el9_5               @anaconda
kernel-devel.x86_64                              5.14.0-503.14.1.el9_5               @AppStream
kernel-headers.x86_64                            5.14.0-503.14.1.el9_5               @AppStream
kernel-modules.x86_64                            5.14.0-503.14.1.el9_5               @anaconda
kernel-modules-core.x86_64                       5.14.0-503.14.1.el9_5               @anaconda
kernel-srpm-macros.noarch                        1.0-13.el9                          @AppStream
kernel-tools.x86_64                              5.14.0-503.14.1.el9_5               @anaconda
kernel-tools-libs.x86_64                         5.14.0-503.14.1.el9_5               @anaconda
 
[root@rockylinux9 ~]#

この状態でELRepo のカーネルを入れてみる

elrepo-kernelリポジトリで提供されているカーネルパッケージは「kernel-lt」と「kernel-ml」の2つある.
「kernel-lt」は長期サポート版 長期サポート版って言っても kernel.org では複数の長期サポート版があって、そのなかの1つだけが選ばれている
「kernel-ml」はmain linestable版. main linestable版って実は他にあるstable版よりも最新版で出来立てのカーネル. 「長期サポート」ほどこなれてない枯れてないカーネル. だから不安定って訳ではない. バグもあるだろうが、それは他のカーネルとして同じ.

[root@rockylinux9 ~]# dnf --enablerepo=elrepo-kernel install kernel-ml kernel-ml-core kernel-ml-devel kernel-ml-devel-matched kernel-ml-modules kernel-ml-modules-extra kernel-ml-tools kernel-ml-tools-libs kernel-ml-tools-libs-devel -y
 :
Installing:
 kernel-ml                               x86_64              6.14.6-1.el9.elrepo               elrepo-kernel               32 k
 kernel-ml-core                          x86_64              6.14.6-1.el9.elrepo               elrepo-kernel               56 M
 kernel-ml-devel                         x86_64              6.14.6-1.el9.elrepo               elrepo-kernel               18 M
 kernel-ml-devel-matched                 x86_64              6.14.6-1.el9.elrepo               elrepo-kernel               32 k
 kernel-ml-modules                       x86_64              6.14.6-1.el9.elrepo               elrepo-kernel               50 M
 kernel-ml-modules-extra                 x86_64              6.14.6-1.el9.elrepo               elrepo-kernel              1.2 M
 kernel-ml-tools                         x86_64              6.14.6-1.el9.elrepo               elrepo-kernel              289 k
     replacing  kernel-tools.x86_64 5.14.0-503.14.1.el9_5
 kernel-ml-tools-libs                    x86_64              6.14.6-1.el9.elrepo               elrepo-kernel               44 k
     replacing  kernel-tools-libs.x86_64 5.14.0-503.14.1.el9_5
 kernel-ml-tools-libs-devel              x86_64              6.14.6-1.el9.elrepo               elrepo-kernel               33 k
 :
[root@rockylinux9 ~]# grubby --info=ALL
index=0
kernel="/boot/vmlinuz-6.14.6-1.el9.elrepo.x86_64"
 :
index=1
kernel="/boot/vmlinuz-5.14.0-503.14.1.el9_5.x86_64"
 :
index=2
kernel="/boot/vmlinuz-0-rescue-ae44d20cabbc434083b536e0b83f239d"
 :
[root@rockylinux9 ~]# grubby --default-kernel
/boot/vmlinuz-6.14.6-1.el9.elrepo.x86_64         <-- reboot後に適用されるカーネルです
 
[root@rockylinux9 ~]# grubby --default-index
0                                                <-- reboot後に適用されるカーネルのindex番号
[root@rockylinux9 ~]#

「grubby --set-default-index=1」なら「5.14.0-503.14」が適用されます
kernel-ml-headersは不要みたい
あとsecure bootは無効にしてください

再起動後,

[root@rockylinux9 ~]# uname -r
6.4.12-1.el9.elrepo.x86_64
 
[root@rockylinux9 ~]#
 
(ちなみに)
[root@rockylinux9 ~]# find /lib/modules -name btrfs.ko.xz
/lib/modules/6.4.12-1.el9.elrepo.x86_64/kernel/fs/btrfs/btrfs.ko.xz
 
[root@rockylinux9 ~]# find /lib/modules -name orangefs.ko.xz
/lib/modules/6.4.12-1.el9.elrepo.x86_64/kernel/fs/orangefs/orangefs.ko.xz
 
[root@rockylinux9 ~]#

っとカーネルが変わりました. それと btrfs と orangefs カーネルモジュールが存在します

不要なkernelの削除

参照 https://www.centlinux.com/2022/10/safely-remove-old-kernels-in-rocky-linux-9.html

dnf -y remove --oldinstallonly --setopt installonly_limit=2 kernel

これは今使っているカーネルとrescure向けの2つのみを残す感じかな

rockylinux8に入れてみる

[root@rockylinux ~]# cat /etc/redhat-release
Rocky Linux release 8.8 (Green Obsidian)
 
[root@rockylinux ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
[root@rockylinux ~]# dnf install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm

今時点でインストールされているkernel関係は

[root@rockylinux ~]# dnf list installed |grep "^kernel"
kernel.x86_64                               4.18.0-477.10.1.el8_8                  @anaconda
kernel-core.x86_64                          4.18.0-477.10.1.el8_8                  @anaconda
kernel-devel.x86_64                         4.18.0-477.10.1.el8_8                  @anaconda
kernel-headers.x86_64                       4.18.0-477.10.1.el8_8                  @anaconda
kernel-modules.x86_64                       4.18.0-477.10.1.el8_8                  @anaconda
kernel-tools.x86_64                         4.18.0-477.10.1.el8_8                  @anaconda
kernel-tools-libs.x86_64                    4.18.0-477.10.1.el8_8                  @anaconda
[root@rockylinux ~]#

なので、

[root@rockylinux ~]# dnf install --enablerepo=elrepo-kernel \
            kernel-ml \
            kernel-ml-core \
            kernel-ml-devel \
            kernel-ml-modules \
            kernel-ml-modules-extra
 
(dkmsものがあればここで作り直される. nvidia.koとか)
 
[root@rockylinux ~]#
[root@rockylinux ~]# dnf swap --enablerepo=elrepo-kernel kernel-tools kernel-ml-tools
 :
Installing:
 kernel-ml-tools                    x86_64    6.8.2-1.el8.elrepo         elrepo-kernel       358 k
Installing dependencies:
 kernel-ml-tools-libs               x86_64    6.8.2-1.el8.elrepo         elrepo-kernel       138 k
Removing:
 kernel-tools                       x86_64    4.18.0-477.10.1.el8_8      @anaconda           703 k
Removing unused dependencies:
 kernel-tools-libs                  x86_64    4.18.0-477.10.1.el8_8      @anaconda           23 k
 :
[root@rockylinux ~]#
 
[root@rockylinux ~]# dnf install --enablerepo=elrepo-kernel kernel-ml-tools-libs-devel
 
[root@rockylinux ~]# reboot
 
 
[root@rockylinux ~]# uname -r
6.8.2-1.el8.elrepo.x86_64
 
[root@rockylinux ~]#
最新の60件
2025-06-18 2025-06-17 2025-06-15 2025-06-14 2025-06-11 2025-06-09 2025-06-08 2025-06-07 2025-06-05 2025-06-02 2025-06-01 2025-05-31 2025-05-30 2025-05-25 2025-05-22 2025-05-21 2025-05-20 2025-05-18 2025-05-17 2025-05-14 2025-05-13 2025-05-12 2025-05-11 2025-05-08 2025-05-07 2025-05-06 2025-05-05 2025-05-04 2025-05-03 2025-04-27 2025-04-26 2025-04-25 2025-04-24

edit


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2025-05-17 (土) 02:39:06