GLIBC修復(fù)筆記,學(xué)會這些讓你更快的解決系統(tǒng)問題
背景
公司環(huán)境有臺機器硬盤故障,需要安裝megacli工具進系統(tǒng)查看raid信息,在ubuntu20.04安裝megacli解決依賴過程中失誤將高版本的libtinfo包裝系統(tǒng)上了,導(dǎo)致系統(tǒng)報glibc對應(yīng)的版本沒有找到,系統(tǒng)實際glibc的版本是2.31。
解決辦法
如果系統(tǒng)的ssh沒有斷開,可以將原來版本的libtinfo文件刪除,并重新軟鏈接。
cd /lib/x86_64-linux-gnu/
rm -rf libtinfo.so.6
ln -s libtinfo.so.6.2 libtinfo.so.6
但是很遺憾,ssh和接顯示器都登錄不到系統(tǒng)上了,單用戶也進不去,安裝的ubuntu server 20.04也沒有l(wèi)ive cd,不過好在ubuntu 20.04 desktop版本用的核心庫版本和server是一樣的,可以使用ubuntu 20.04 desktop做live CD。
使用ubuntu 20.04 desktop 制作live CD修復(fù)
插入制作好的啟動盤,選擇try ubuntu without installing。
進入liveCD之后切換到root用戶,將硬盤上的文件系統(tǒng)掛載到/mnt目錄上。
sudo -i
mount /dev/mapper/ubuntu--vg-ubuntu--lv /mnt
cd /mnt/lib/x86_64-linux-gnu
將原來版本的libtinfo文件刪除,并重新軟鏈接到6.2版本上去。
rm -rf libtinfo.so.6
ln -s libtinfo.so.6.2 libtinfo.so.6
之后切換根目錄為/mnt,使用絕對路徑重新軟鏈接一次。
chroot /mnt
cd /lib/x86_64-linux-gnu
rm -rf libtinfo.so.6
ln -s /lib/x86_64-linux-gnu/libtinfo.so.6.2 /lib/x86_64-linux-gnu/libtinfo.so.6
exit
reboot
重啟系統(tǒng)問題解決
以上是由于安裝依賴版本問題導(dǎo)致glibc版本報錯的解決辦法和思路。