[質問]
カーネルパッケージのアップデート方法を教えてください。
[対象となる製品のバージョン]
MIRACLE LINUX V4.0 - Asianux Inside
MIRACLE LINUX One V4.0 - Asianux Inside
MIRACLE LINUX V4.0 - Asianux Inside for x86-64
MIRACLE LINUX One V4.0 - Asianux Inside for x86-64
[対象となるパッケージ]
kernel
[回答]
アップデート手順はMIRACLE LINUXのバージョンによって異なりますので、現在使用されているMIRACLE LINUXのバージョンをご確認ください。
このFAQは、MIRACLE LINUX V4.0に対する説明です。
カーネルをアップデートする場合は、カーネルの種類やバージョンを意識する必要があります。この回答では以下の条件を想定しています。
- x86(32bit環境)でSMPカーネルをインストールして運用
- アップデート前のカーネルのバージョンは 2.6.9-11.19AX
- アップデート後のカーネルのバージョンは 2.6.9-11.25AX
バージョン番号などはお客さまの環境にあわせて適宜読みかえてください。
また、コマンドの例で smp という文字列が付いている箇所があります。
smp もしくは SMP は Symmetric Multi-Processors の略で、複数のプロセッサで構成されたシステム用のカーネルを意味します。
また、1つのプロセッサで構成されるシステム用のカーネルを UP (Uni-Processor)カーネルと呼びます。UPカーネルで運用している環境では、 kernel-smpパッケージをインストールする必要はありません。
以下に、カーネルのアップデート手順を示します。
1.パッケージの確認
インストールされているカーネルパッケージを確認します。
# rpm -qa | grep kernel
kernel-2.6.9-11.19AX
kernel-smp-devel-2.6.9-11.19AX
kernel-smp-2.6.9-11.19AX
kernel-doc-2.6.9-11.19AX
kernel-source-2.6.9-11.19AX
kernel-devel-2.6.9-11.19AX
kernel-utils-2.4-13.1.66.2AX
これらのパッケージのうち、kernel-utilsパッケージはカーネルのアップデートとは無関係です。
2.最新パッケージの入手
上記で確認したパッケージ(kernel,kernel-smp,kernel-devel, kernel-smp-devel,kernel-source,kernel-doc)について最新バージョンのパッケージを入手します。
この回答例では、2.6.9-11.25AX が最新バージョンであるとします。
また、入手したパッケージを /tmp/kernel 配下に置くことにします。
# ls /tmp/kernel
kernel-2.6.9-11.25AX.i686.rpm
kernel-smp-2.6.9-11.25AX.i686.rpm
kernel-devel-2.6.9-11.25AX.i686.rpm
kernel-smp-devel-2.6.9-11.25AX.i686.rpm
kernel-doc-2.6.9-11.25AX.noarch.rpm
kernel-source-2.6.9-11.25AX.i686.rpm
必要に応じて個々のパッケージを入手・更新することも可能ですが、可能な限りすべてのパッケージのバージョンを同じにすることを推奨します。
3. パッケージの追加
新しいバージョンのカーネルパッケージは、追加インストール(rpm -i)と、アップデートインストール(rpm -U)のどちらかの手段でインストールすることができます。
カーネルパッケージのアップデート後に、システムが正常に立ち上がらなくなった場合に備えて、古いバージョンのカーネルパッケージを残しておくためには、kernel、kernel-smpパッケージを追加インストールします。
kernel、kernel-smpパッケージなどは、既にインストールされているパッケージより新しいバージョンであれば、複数バージョンのパッケージをシステムにインストールすることが可能です。
また、kernel-devel、kernel-smp-develパッケージもカーネルモジュールのビルドに必要となる場合がありますので、合わせて追加インストールを行っておきます。
# cd /tmp/kernel
# rpm -ihv kernel-2.6.9-11.25AX.i686.rpm kernel-smp-2.6.9-11.25AX.i686.rpm
kernel-smp-devel-2.6.9-11.25AX.i686.rpm kernel-devel-2.6.9-11.25AX.i686.rpm
Preparing... ###########################################
[100%]
1:kernel ########################################### [ 25%]
2:kernel-smp ########################################### [ 50%]
3:kernel-smp-devel ########################################### [ 75%]
4:kernel-devel ########################################### [100%]
kernel-docパッケージも複数バージョンインストールすることが可能ですが、通常は複数のバージョンをインストールしておく必要は無いため、アップデートインストールを行います。
# cd /tmp/kernel
# rpm -Uhv kernel-doc-2.6.9-11.25AX.noarch.rpm
Preparing... ########################################### [100%]
1:kernel-doc ########################################### [100%]
4. GRUBの更新
MIRACLE LINUX V4.0では、kernel(kernel-smp)パッケージのインストール時に、新しいカーネルをデフォルトで起動できるようにGRUBの設定が自動で更新されます。
kernelパッケージの更新時に、デフォルトカーネルの変更を行いたくない場合には、/etc/sysconfig/kernelパッケージのUPDATEDEFAULTパラメータをnoに変更します。
- /etc/sysconfig/kernel
UPDATEDEFAULT=no
また、デフォルトカーネル変更時のデフォルトカーネルの種類を、kernel-smpからkernelなど別の種類のカーネルに変更したい場合には、/etc/sysconfig/kernelパッケージのDEFAULTKERNELパラメータを変更します。
- /etc/sysconfig/kernel
DEFAULTKERNEL=kernel
GRUBのデフォルトカーネルの設定を手動で変更したい場合には、grubbyコマンドで/etc/grub.confのエントリーを修正します。
grubbyコマンドを利用してデフォルトで起動するカーネルを変更すると、/etc/grub.confのdefaultパラメータが変更されます。
なお、kernel、kernel-smp、kernel-hugememパッケージのインストール時に、/etc/grub.confに新しくインストールしたカーネルのエントリが追加されますので、マシン起動時のGRUBの画面で、インストールしたカーネルを選択することができます。
5. マシンの再起動
リブートして、新しいカーネルでマシンを起動します。
# /sbin/shutdown -r now
mkinitrdなどのコマンドは、kernelパッケージインストール時に実行されるため、別途実行する必要はありません。
マシン再起動後、カーネルが新しいバージョンになっていることを確認します。
# uname -r
2.6.9-11.25AXsmp
マシン再起動時に新しいカーネルによる起動で問題が発生した場合は、古いバージョンのカーネルを選択して起動し、問題の解決を行って下さい。
[参考資料]
[FAQ] カーネルパッケージについて(MIRACLE LINUX V4.0)
[更新履歴]
2005年12月9日 新規作成
|