透過 uname 指令,可尋找目前核心版本的 Linux 環境。但是,您可能需要修改使用 uname 指令獲得的結果,以使您的核心版本相符。
透過以下步驟可修改 uname 指令以取得您需要的值:
若要獲得目前核心版本,請輸入:
uname -r
記下版本號碼,以便在步驟 4 中使用。此範例使用 SLES 9 SP2 安裝的版本 2.6.13-15-smp。
若要建立新目錄,請輸入:
mkdir /bin/orig
若要將 uname 二進位移至您剛剛建立的 /bin/orig 目錄中,請輸入:
mv /bin/uname /bin/orig/uname
使用 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」。
若要使新的 uname 指令程序檔成為可執行檔,請輸入:
chmod +x /bin/uname
輸入以下內容可使 uname -r 指令傳回特定版本,例如編譯模組時:
export KRNLVERSION="2.6.5-7.191"
按照製造商的指示,使用適當的 make 指令編譯模組。
重設 uname,以便它可以傳回實際值:
unset KRNLVERSION