GLIBC修復筆記,學會這些讓你更快的解決系統問題
背景
公司環境有臺機器硬盤故障,需要安裝megacli工具進系統查看raid信息,在ubuntu20.04安裝megacli解決依賴過程中失誤將高版本的libtinfo包裝系統上了,導致系統報glibc對應的版本沒有找到,系統實際glibc的版本是2.31。
解決辦法
如果系統的ssh沒有斷開,可以將原來版本的libtinfo文件刪除,并重新軟鏈接。
cd /lib/x86_64-linux-gnu/
rm -rf libtinfo.so.6
ln -s libtinfo.so.6.2 libtinfo.so.6
但是很遺憾,ssh和接顯示器都登錄不到系統上了,單用戶也進不去,安裝的ubuntu server 20.04也沒有live cd,不過好在ubuntu 20.04 desktop版本用的核心庫版本和server是一樣的,可以使用ubuntu 20.04 desktop做live CD。
使用ubuntu 20.04 desktop 制作live CD修復
插入制作好的啟動盤,選擇try ubuntu without installing。
進入liveCD之后切換到root用戶,將硬盤上的文件系統掛載到/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
重啟系統問題解決
以上是由于安裝依賴版本問題導致glibc版本報錯的解決辦法和思路。