linux下公升級glibc 2 14問題

2022-09-23 01:33:15 字數 1503 閱讀 6970

遇到的問題

在centos6.8上,安裝完hadoop後,啟動dfs時,報錯warn util.nativecodeloader: unable to load native-hadoop library for your platform...

經過查閱資料後,發現可能有兩種原因,一是**的hadoop是32位版本,libhadoop.so.1.0.0檔案時32位的,卻執行在64為機器上。可是經過檢視後,file lib/native/libhadoop.so.1.0.0,libhadoop.so.1.0.0該檔案是64位的,系統也是64位的。顯然不是這個原因。

原因二:系統預裝的glibc庫是2.12版本,而hadoop期望是2.14版本。用ldd命令檢視libhadoop.so.1.0.0檔案的依賴庫,果然發現找不到glibc2.14。

strings /lib64/libc.so.6|grep glibc

ldd --version檢視系統預裝的glibc庫

那麼現在解決辦法就是公升級glibc庫到2.14。

安裝glibc-2.14

到**位址**glibc-2.14版本

可以選擇glibc-2.14.tar.gz

將**的壓縮包放置到某個目錄中,例如/home/目錄 開始執行下列shell命令

[root@***home]#tar-xzvfglibc-2.14.tar.gz//解壓壓縮包[root@***home]#cdglibc-2.14//進入解壓後的檔案目錄[root@***glibc-2.14]#mkdirbuild//建立build資料夾[root@***glibc-2.14]#cdbuild//進入build資料夾[root@***build]#../configure--prefix=/opt/glibc-2.14//配置glibc並設定當前glibc-2.14安裝目錄位/opt/glibc-2.14(安裝目錄可以自己選擇),記住這個安裝目錄,後面操作需要用到[root@***build]#make-j4//開啟編譯加速4個程序[root@***build]#makeinstall//開始安裝

接下來等待安裝完成

glibc軟鏈

安裝完成後, 建立軟鏈指向glibc-2.14, 執行如下命令:

$rm-rf/lib64/libc.so.6//先刪除先前的libc.so.6軟鏈$ln-s/opt/glibc-2.14/lib/libc-2.14.so/lib64/libc.so.6//建立新的軟連線

注意刪除libc.so.6之後可能導致系統命令不可用的情況, 可使用如下方法建立2.14的鏈結

$ld_preload=/opt/glibc-2.14/lib/libc-2.14.soln-s/opt/glibc-2.14/lib/libc-2.14.so/lib64/libc.so.6

如果上述更新失敗可使用如下命令還原到2.12版本

$ld_preload=/lib64/libc-2.12.soln-s/lib64/libc-2.12.so/lib64/libc.so.6

此時再通過命令檢視glibc可以看到底部有新安裝的glibc_2.14

centos6 5 glibc 簡單公升級到2 14

公升級glibc的過程都大同小異,下面這個過程簡單點,好處是不需要手工ln建立軟連線,缺點嘛,就是直接安裝到系統資料夾 lib64下,想換回來就比較麻煩。wget wget tar xvf glibc 2.14.tar.gz cd glibc 2.14 在原始碼資料夾下建立乙個build資料夾,編譯...

Linux公升級Glibc時系統奔潰怎麼辦?

現象 在安裝hp硬體監控 hpasmcli 提示需要依賴glibc 2.7,而本機的是glibc 2.5,看來得公升級glibc了,可惜在公升級時又出現了更多的依賴問題,想到在其他伺服器上安裝hpasmcli時很順利,就想到將其他伺服器的glibc庫檔案直接拷貝到本機嘗試,涉及的檔案有 lib li...

Linux下遠端公升級指令碼

remote update.sh bin sh 此指令碼放在dcu資料夾的外面 殺掉正在執行的dcu程序 pidlist ps ef grep dcu.bin grep v grep awk echo id list pidlist if pidlist then else for pid in d...