RPMでのカーネルアップデート方法

独自のRPM形式のカーネルや、セキュリティー対応などのアップデート用kernelをrpmコマンドでインストールする場合について説明します。

kernelの場合は、他のパッケージと比べ、アップデート時のトラブル回避のため少々作業が複雑になります。

 

インストールされているkernel関連パッケージを検索します。

今インストールされてるkernel関連パッケージを確認しときます。

rpm -qa | grep kernel

 

結果は通常

kernel-2.6.18-53.el5

などです。 kernelソースを入れてあれば、

kernel-source-2.6.18-53.el5

も出てきます。

また、あなたがノートPCを使用していれば、

kernel-pcmcia-cs-

も出るかもしれません。

これらが、更新対象になりますので、必要なパッケージを準備してください。

 

パッケージのアップデート

パッケージをアップデートします。

kernelをアップデートする場合は、もしものことを考えて、古いカーネルでも起動できるように古いカーネルを残し、新しいカーネルを追加インストールします。

rpm -ivh kernel-2.6-53.1.4.el5.i686.rpm

 

sourceは古いものは必要ないと思うのでアップデートします。

rpm -Fvh kernel-source-2.6-53.1.4.el5.i386.rpm

 

インストール後の確認

RedHat-7.2以降は、起動用imgファイルが自動で作成されますが、念のため確認しときます。

インストールしたバージョンの、initrd-2.6.18-53.1.4.el5.imgが、/bootにあるはずです。

もし無ければ、手動で作成します。

mkinitrd /boot/initrd-2.6.18-53.1.4.el5.img 2.6.18-53.1.4.el5

 

 

GRUBへの登録

インストールしたkernelで起動出来るように、GRUBへ設定します。

/boot/grub/grub.conf

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
#          initrd /initrd-version.img
#boot=/dev/md0
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-53.1.4.el5)<---追加
	root (hd0,0)<---追加
	kernel /vmlinuz-2.6.18-53.1.4.el5 ro root=/dev/VolGroup00/LogVol00<---追加
	initrd /initrd-2.6.18-53.1.4.el5.img<---追加

title CentOS (2.6.18-53.el5)
	root (hd0,0)
	kernel /vmlinuz-2.6.18-53.el5 ro root=/dev/VolGroup00/LogVol00
	initrd /initrd-2.6.18-53.el5.img

上のtitle以下が新しいカーネルの起動で、下のtitle以下が古いかーネールです。

これでBootLoaderで選択して起動できます。

 

なお、この例ではdefaultの起動を新しいカーネルにしてあります。(default=0)

古いカーネルをdefaultにする場合は、default=1とします。

 

GRUBの設定が終ったら再起動し新しいカーネルで起動してください。

もし起動に失敗したり、不具合が発生したらBootLoaderで古いカーネルを選んで起動し、問題解決を考えます。

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <img localsrc="" alt="">