65.6 unameの使用

unameコマンドを使用すると、Linux環境の現在のカーネルバージョンを確認することができます。ただし、unameコマンドからの結果を変更して、カーネルバージョンを一致させる必要があります。

次の手順を実行すると、unameコマンドを変更して、必要な値を指定できます。

  1. 現在のカーネルバージョンを取得するには、次のように入力します。

    uname -r
    

    ステップ 4で使用できるように、バージョン番号を書き留めておいてください。この例では、SLES 9 SP2インストールからバージョン2.6.13-15-smpを使用します。

  2. 新しいディレクトリを作成するには、次のように入力します。

    mkdir /bin/orig
    
  3. 作成した/bin/origディレクトリにunameバイナリを移動するには、次のように入力します。

    mv /bin/uname /bin/orig/uname
    
  4. Linuxエディタ(viなど)を使用して、次の行を含む/bin/unameファイルを作成します。

    #!/bin/sh#unameif [ $KRNLVERSION"a" = "a" ] ; then
    	if [ $(/bin/orig/uname -r) = "2.6.13-15-smp" ] ; then
    export KRNLVERSION=2.6.13-15-smp
    else
    export KRNLVERSION=2.4.31
    fi
    fi
    if [ $1"a" = "-ra" ] ; then
    echo $KRNLVERSION
    else
    /bin/orig/uname $*
    fi
    

    重要:文字列“2.6.13-15-smp”を手順1で確認したバージョンに置き換えます。

  5. 新しいunameコマンドスクリプトを実行可能にするには、次のように入力します。

    chmod +x /bin/uname
    
  6. 次のように入力して、モジュールのコンパイル時などに、uname -rコマンドによって特定のバージョンが返されるようにします。

    export KRNLVERSION="2.6.5-7.191"
    
  7. メーカーの指示に従って、適切なmakeコマンドを使用してモジュールをコンパイルします。

  8. 実際の値が返されるようにunameをリセットします。

    unset KRNLVERSION