- 手賤升級了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包
- 恢復了庫文件版本後,重啓系統,發現圖形節目恢復正常
教訓
對於找不到庫文件的錯誤,請不要隨意升級相關的包從而升級庫文件來解決問題,可能導致系統程序失去對原來庫文件的依賴,從而無法啓動系統