以下是錯誤示范,錯誤過程還原,請勿模仿!!!
wkhtmltopdf 啟動,提示/lib64/libc.so.6版本過低
$ ./wkhtmltopdf http:www.baidu.com 1.pdf
./wkhtmltopdf: /lib64/libc.so.6: version `GLIBC_2.9' not found (required by ./wkhtmltopdf)
./wkhtmltopdf: /lib64/libc.so.6: version `GLIBC_2.10' not found (required by ./wkhtmltopdf)
./wkhtmltopdf: /lib64/libc.so.6: version `GLIBC_2.7' not found (required by ./wkhtmltopdf)
查看系統glibc版本,發現最高是2.5,需要升級到2.10
$ strings /lib64/libc.so.6 |grep GLIBC_
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_PRIVATE
當時並不清楚glibc的重要性,看是版本過低,就想着升級唄
下載了個glibc2.10版本
$ mkdir build // 在glibc-2.14目錄下建立build文件夾 $ cd build // 進入build目錄 $ ../configure --prefix=/usr/local/glibc // 配置glibc並設置當前glibc-2.14安裝目錄 $ make && make install // 編譯安裝glibc-2.14庫
安裝完成后, 建立軟鏈指向glibc-2.10, 執行如下命令:
$ rm -rf /lib64/libc.so.6 // 先刪除先前的libc.so.6軟鏈 $ ln -s /usr/local/glibc-2.10/lib/libc-2.10.1.so /lib64/libc.so.6
此時系統報錯sgment fault,通過ldconfig重新恢復,libc.so.6重新指向
libc-2.5.so,我的升級目的沒有達到,豈能罷休?看到/lib64下有libc-2.5.so,
於是“靈機一動”,把
libc-2.10.1.so也復制到/lib64下,$
ln -s /lib64/libc-2.10.1.so /lib64/libc.so.6
這下成功將libc.so.6指向了
libc-2.10.1.so了
可是悲催的是系統各種命令都不能再使用:
/bin/ls: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
ssh遠程連接也中斷了,無法再連接,本機上無法打開終端。無可奈何,我做了一個更加可怕的決定,重啟!
於是乎,CentOS 5.11,GG!
以上是錯誤示范,錯誤過程還原,請勿模仿!!!
事情搞完了,系統起不來了,可是里面的數據不能丟!咋辦啊?
不敢亂動那個硬盤,找了個其他硬盤,裝上了相同的CentOS 5.11系統,將原硬盤掛載上去,趕緊把數據先備份下來。
重新將libc.so.6指向
libc-2.5.so:
[root@localhost lib64]#ln -s libc-2.5.so libc.so.6
卸下替用的硬盤,原硬盤的系統恢復正常。CentOS 5.11 正常跑了