え?まだ旧式カーネル?CentOS 6ではカーネルアップデートは簡単にできる!(RPM編)

2020/11/18

お久しぶりです。
そろそろ年賀状の季節ですが、作成されました?(白目

…ってなわけで今回はCentOSのカーネルアップデートについて説明します。
メリット/デメリットがありますので実行する際は注意。

目次

メリット/デメリットについて

【メリット】
・いろいろと高速化する。CPU・メモリの使い方やネットワーク伝送速度など
・新し目のカーネルを要求するライブラリやミドルウェアがインストール可能
(カーネルのバージョンが古いと性能も低い。場合によってはギガビットLAN未対応だったなんてことも)
・仮想マシンの場合、ハイパーバイザー側のドライバに最適化されるので解像度や処理性能が向上
(最近のハイパーバイザーのドライバは古いカーネルに最適化されていない)

【デメリット】
・新しいカーネルを使用するためにはブートローダを変更する必要があるので、編集ミスによるOS起動不能のリスクがある
・古いミドルウェアが正常に起動しない場合がある
(常日頃から yum update などを実施していれば問題なし)

では、手順を紹介。CentOS向けの説明なのでUbuntuやラズベリーパイには適用できない。

 

手順1 elrepoパブリックキー登録

今回はCentOS向けに改良されているelrepo Kernel を使用します。
なので、下記のコマンドを実行しないとインストールできません。署名みたいなものですね。
以下のコマンドを実行
# rpm --import http://elrepo.org/RPM-GPG-KEY-elrepo.org

手順2 インストールしたいカーネルの選択

Webブラウザで以下のURLへアクセスして適用したいカーネルをwgetでダウンロード
http://elrepo.org/linux/kernel/el6/x86_64/RPMS/

ここには CentOS6 かつ Intel系64bitアーキテクチャ かつ RPM形式でカーネルが置いてあります。
CentOS7 や CentOS6 32bit やIntel系以外のアーキテクチャで稼働しているCentOSには適用できませんので注意。

安定版かどうなのかはLinuxカーネル公式を確認
https://www.kernel.org

wget ダウンロードはこんな感じ。
# wget http://elrepo.org/linux/kernel/el6/x86_64/RPMS/kernel-ml-4.3.3-1.el6.elrepo.x86_64.rpm

手順3 インストール

ダウンロードしたRPMファイルをインストールして終了。
もちろんrpmファイルが存在するディレクトリで実行。
# yum localinstall kernel-ml-2.6.35-11.el5.elrepo.x86_64.rpm

手順4 ブートローダ編集

インストールが終了したら起動確認。
OSを再起動して起動時にBIOS画面を呼び出す。
起動したいカーネルを選択してエンター。
問題なければブートローダを編集して恒久的に新しいカーネルで起動するようにする。

default の値で起動するカーネルを選択しているので、0にする(青字の部分)
※0は一番上のカーネルを選択している

# vi  /boot/grub/grub.conf
====================================
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (4.2.5-1.el6.elrepo.x86_64)
root (hd0,0)
kernel /vmlinuz-4.2.5-1.el6.elrepo.x86_64 ro root=/dev/mapper/vg_centos-lv_root rd_NO_LUKS rd_LVM_LV=vg_centos/lv_root rd_NO_MD crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=jp106 LANG=ja_JP.UTF-8 rd_NO_DM rd_LVM_LV=vg_centos/lv_swap rhgb quiet
initrd /initramfs-4.2.5-1.el6.elrepo.x86_64.img

title CentOS (2.6.32-573.7.1.el6.centos.plus.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-573.7.1.el6.centos.plus.x86_64 ro root=/dev/mapper/vg_centos-lv_root rd_NO_LUKS rd_LVM_LV=vg_centos/lv_root rd_NO_MD crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=jp106 LANG=ja_JP.UTF-8 rd_NO_DM rd_LVM_LV=vg_centos/lv_swap rhgb quiet
initrd /initramfs-2.6.32-573.7.1.el6.centos.plus.x86_64.img
====================================

これでカーネルアップデートは完了。



関連記事

シェア訴求文言

-CentOS
-, , , , , ,