65.6 使用 Uname

透過 uname 指令,可尋找目前核心版本的 Linux 環境。但是,您可能需要修改使用 uname 指令獲得的結果,以使您的核心版本相符。

透過以下步驟可修改 uname 指令以取得您需要的值:

  1. 若要獲得目前核心版本,請輸入:

    uname -r
    

    記下版本號碼,以便在步驟 4 中使用。此範例使用 SLES 9 SP2 安裝的版本 2.6.13-15-smp。

  2. 若要建立新目錄,請輸入:

    mkdir /bin/orig
    
  3. 若要將 uname 二進位移至您剛剛建立的 /bin/orig 目錄中,請輸入:

    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
    

    重要:以您在步驟 1 中找到的版本取代字串「2.6.13-15-smp」。

  5. 若要使新的 uname 指令程序檔成為可執行檔,請輸入:

    chmod +x /bin/uname
    
  6. 輸入以下內容可使 uname -r 指令傳回特定版本,例如編譯模組時:

    export KRNLVERSION="2.6.5-7.191"
    
  7. 按照製造商的指示,使用適當的 make 指令編譯模組。

  8. 重設 uname,以便它可以傳回實際值:

    unset KRNLVERSION