MIRACLE

メールサービス申込 ユーザー登録&ログイン パートナー情報
お問い合わせ FAQ サイトマップ
MIRACLE LINUXの特長 製品紹介 サービス案内 購入 サポート 技術フォーラム

テクノロジー情報

カテゴリ:カーネル
2004/02/17
カーネルパッケージのアップデートについて(MIRACLE LINUX V2.x)
Standard Edition V2.x 対応

[質問]

カーネルパッケージのアップデート方法を教えてください。

[対象となる製品のバージョン]

MIRACLE LINUX Standard Edition V2.x

[対象となるパッケージ]

kernel

[回答]

アップデート手順は MIRACLE LINUX のバージョンによって異なりますので、現在使用されている MIRACLE LINUX のバージョンをご確認ください。

カーネルをアップデートする場合は、カーネルの種類やバージョンを意識する必要があります。
この回答では以下の条件を想定しています。

  • SMPカーネルをインストールして運用
  • アップデート前のカーネルのバージョンは 2.4.9-31.22ml
  • アップデート後のカーネルのバージョンは 2.4.9-e.25.50ml
バージョン番号などはお客様の環境にあわせて適宜読み変えてください。

また、コマンドの例で smp という文字列が付いている箇所があります。smp もしくは SMP は Symmetric Multi-Processors の略で、複数のプロセッサで構成されたシステム用のカーネルを意味します。
逆に、1 つのプロセッサで構成されるシステム用のカーネルを UP (Uni-Processor)カーネルと呼びます。UPカーネルで運用している環境では、smp という文字列を付けずにコマンドを実行してください。

[ 例 ]
  # mkbootdisk 2.4.9-31.22mlsmp  (SMPカーネルの場合)
  # mkbootdisk 2.4.9.31.22ml     (UPカーネルの場合)

以下に、カーネルのアップデート手順を示します。

0. 準備

  1. 緊急時用ブートディスクの作成
    • 緊急時用ブートディスクを作成することをお勧めします。
      ブートフロッピーを作成するには mkbootdisk コマンドを使います。
      カーネル 2.4.9-31.22mlsmp がインストールされている場合は、以下のコマンドでブートフロッピーを作成します。
      # mkbootdisk 2.4.9-31.22mlsmp
      

1. パッケージの確認

    インストールされているカーネルパッケージを確認します。
    # rpm -qa | egrep kernel
    kernel-source-2.4.9-31.22ml
    kernel-doc-2.4.9-31.22ml
    kernel-2.4.9-31.22ml
    kernel-smp-2.4.9-31.22ml
    kernel-headers-2.4.9-31.22ml
    

2. 最新パッケージの入手

    上記で確認されたすべてのパッケージについて最新のバージョンを入手します。
    この回答例では、2.4.9-e.25.50ml が最新バージョンであるとします。
    また、入手したパッケージを /tmp/kernel 配下に置くことにします。
    # ls /tmp/kernel
    kernel-2.4.9-e.25.50ml.i686.rpm      
    kernel-doc-2.4.9-e.25.50ml.i686.rpm  
    kernel-headers-2.4.9-e.25.50ml.i686.rpm
    kernel-smp-2.4.9-e.25.50ml.i686.rpm
    kernel-source-2.4.9-e.25.50ml.i686.rpm
    
    ※必要に応じて個々のパッケージを入手・更新することも可能ですが、可能な限りすべてのパッケージのバージョンを同じにすることを推奨します。

3. パッケージの追加

    新旧が同居可能なカーネルパッケージを rpm コマンドによって追加します。
    # cd /tmp/kernel
    # rpm -ivh kernel-2.4.9-e.25.50ml.i686.rpm kernel-smp-2.4.9-e.25.50ml.i686.rpm 
    kernel-source-2.4.9-e.25.50ml.i686.rpm
    Preparing...                ########################################### [100%]
       1:kernel                 ########################################### [100%]
       2:kernel-smp             ########################################### [100%]
       3:kernel-source          ########################################### [100%]
    
    新旧が同居不可能なカーネルパッケージを rpm コマンドによって更新します。
    # rpm -Fvh kernel-doc-2.4.9-e.25.50ml.i686.rpm kernel-headers-2.4.9-e.25.50ml.
    i686.rpm
    Preparing...                ########################################### [100%]
       1:kernel-doc             ########################################### [100%]
       2:kernel-headers         ########################################### [100%]
    

4. lilo の更新

    新しいカーネルを起動できるように /etc/lilo.conf エントリーを追加します。
    修正例は以下のようになります(変更個所は赤字にしています)。

    なお、ブートディスクからシステムを起動している場合は、「5. ブートディスクの作成」に進んでください。

    ○ 編集前

     boot=/dev/sda
     map=/boot/map
     install=/boot/boot.b
     prompt
     timeout=50
     linear
     default=linux
    
     image=/boot/vmlinuz-2.4.9-31.22mlsmp
             label=linux
             initrd=/boot/initrd-2.4.9-31.22mlsmp.img
             read-only
             root=/dev/sda5
    
     image=/boot/vmlinuz-2.4.9-31.22ml
             label=linux-up
             initrd=/boot/initrd-2.4.9-31.22ml.img
             read-only
             root=/dev/sda5
    

    ○ 編集後

     boot=/dev/sda
     map=/boot/map
     install=/boot/boot.b
     prompt
     timeout=50
     linear
     default=linux
    
     image=/boot/vmlinuz-2.4.9-31.22mlsmp
              label=linux-old
             initrd=/boot/initrd-2.4.9-31.22mlsmp.img
             read-only
             root=/dev/sda5
    
     image=/boot/vmlinuz-2.4.9-31.22ml
             label=linux-upold
             initrd=/boot/initrd-2.4.9-31.22ml.img
             read-only
             root=/dev/sda5
    
     image=/boot/vmlinuz-2.4.9-e.25.50mlsmp
             label=linux
             initrd=/boot/initrd-2.4.9-e.25.50mlsmp.img
             read-only
             root=/dev/sda5
    
     image=/boot/vmlinuz-2.4.9-e.25.50ml
             label=linux-up
             initrd=/boot/initrd-2.4.9-e.25.50ml.img
             read-only
             root=/dev/sda5
    
    /etc/lilo.conf の修正後、lilo -vコマンドを実行します。
    # lilo -v
    Added linux-old 
    Added linux-upold
    Added linux *
    Added linux-up
    

5. ブートディスクの作成

    ブートディスクでシステムを起動している場合は、ブートディスクを再作成します。
    ブートディスクでシステムを起動していない場合でも、緊急時用としてブートディスクの再作成を推奨します。

    新しいカーネル(2.4.9-e.25.50ml)に対応したブートディスクを作成します。

    # mkbootdisk 2.4.9-e.25.50mlsmp
    

6. マシンの再起動

    リブートして、新しいカーネルでマシンを起動します。
    # shutdown -r now
    

    ※mkinitrd などのコマンドは、rpm コマンドによって実行されるので、新たに実行する必要はありません。

    マシン再起動後、カーネルが新しいバージョンになっているかを確認します。

    # uname -r
    2.4.9-e.25.50mlsmp
    

マシン再起動時に新しいカーネルで問題のある場合は、旧いカーネルラベル(linux-old)を選択して起動し問題の解決を行ってください。

[参考資料]

[FAQ] カーネルの種類について
[FAQ] カーネルパッケージについて

[更新履歴]

2004/02/17 MIRACLE LINUX Standard Edition V2.1用に修正
2002/12/16 devfsd の記述を削除
2001/11/20 新規作成


会社情報 採用情報 個人情報保護方針 情報セキュリティ基本方針 商標等取り扱い事項 English
Copyright(c)2000-2013 MIRACLE LINUX CORPORATION. All Rights Reserved.