關於找不到庫文件libicuu.so.67的問題

  • 手賤升級了nodejs後,運行npm報錯找不到libicuu.so.67
sudo pacman -Sy nodejs
  • 發現icu這個包管理該庫文件,而該庫文件的版本是libicuu.so.65,於是再次手賤升級了icu,把庫文件從libicuu.so.65升級到了libicuu.so.67,nodjs不報錯了(笑)
sudo pacman -Sy icu
  • 結果導致電腦重啓後圖形界面無法打開,但是tty可以打開,猜測是lightdm啓動失敗,心態爆炸

  • 製作manjaro u盤啓動盤,在u盤系統中重新掛載linux系統

manjaro-chroot -a
  • 查詢lightdm日誌(/var/log/lightdm),發現日誌文件seat中報錯:無法找到libicuu.so.65 (想抽自己一巴掌)

  • 由於pacman cache的緩存中還有舊版本的icu包,使用pacman恢復(幸好沒再次手賤把pacman的緩存清空。。)

ls /var/cache/pacman/pkg | grep icu        # 查找舊版本包
sudo pacman -U /var/cache/pacman/pkg/舊版本icu的包名稱.tar.gz  # 恢復原版icu包
  • 恢復了庫文件版本後,重啓系統,發現圖形節目恢復正常

教訓

對於找不到庫文件的錯誤,請不要隨意升級相關的包從而升級庫文件來解決問題,可能導致系統程序失去對原來庫文件的依賴,從而無法啓動系統

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章