LOADING...

加载过慢请开启缓存(浏览器默认开启)

loading

我是如何把我的ArchLinux搞崩的

我是如何崩掉我的ArchLinux的

上一篇文章提到我把我Arch搞崩了,這裡寫一下過程,方便大家借鑒(不是

包管理器

裝過Arch的人都知道它的包管理器是pacman。不管怎麼樣,Debian的包管理器apt也是能跑起來的。不過wiki上已寫明,這兩個東西軟體列表不互通,也就是說互相不知道對方乾了什麼。

為什麼我要突然要用apt

這個鍋我十分不情願的甩給icalingua++(icalingua++:這鍋我不背)

icalingua++是多平台的QQ第三方客戶端。那段時間tx剛剛停止了QQLinux登錄(原因是準備大更新,沒過幾週新版就上線了),我又急著用QQ,然後裝了這個玩意。我是從Discover應用商店下載的軟體,但是Discover更新版本慢,於是我實際上安裝了舊版本

為什麼我不用wineQQ呢,因為不知道為什麼yay補不全依賴。裝了deepinwine也不行。

登錄登不上,提示版本過低。我看了看是最新版啊(當時不知道是舊版),然後pacman -Syu了一下也沒有更新。

然後我上了GitHub,看了看,哦,是舊版。

我找到Release,往下拉,發現沒有適用於Arch的版本,唯一一個認識的就是deb格式的安裝包。找了找,Arch可以裝dpkg,於是我費了半天事裝上了dpkg,嘗試安裝這個包,但是它報錯缺少依賴庫(基本是libxxx.so這些)。

然後我看了看,在Arch裡邊dpkg沒法解決依賴,得上apt,於是我又搞上了apt,還是不行。

我嘗試搜索包,但是沒有相關的包。我繼續查資料,發現沒有這方面的資料。按理說我應該已經發現不對勁了,但是我急著用QQ,就沒多想,繼續鍥而不捨的整。

然後我發現根本沒辦法補全依賴,氣得我直接apt upgrade,你猜怎麼著,它終於開始補依賴了,我突然挺開心,就放著它upgrade,我在旁邊寫作業。

過了一會我抬起頭,看到列表裡面有libc++,我覺得不大對勁:LinuxKernel是C編譯的,為什麼會缺這東西

但是已經晚了。

過了不久,apt突然停止運作,plasma提示各種軟體停止運行。我嘗試打開Konsole,打不開。還好之前已經打開的終端沒關閉,我隨便輸了個指令,它報錯 bash:內存轉儲錯誤

一番折騰之後我選擇了強制關機(為什麼要強制呢?因為shutdown都報錯了hhhh),重啟。

但是沒啟動起來。

grub引導之後直接報RIP Code.

完了。

記下RIP code查了一下,發現最近似的案例是系統關鍵庫缺失(他就是缺了libc),很明顯這是我apt整的。

都這個樣了,沒什麼動力去修了(況且也修不好)第二天我就把系統重新安裝了。還好沒什麼重要信息在裡面。

這個故事告訴我們:不要混用包管理器1111111

前面提到了,apt和pacman數據不互通。系統安裝時pacman安裝了這些庫,但是apt不知道,於是拿自己的一套替換了原有的庫,導致了系統崩潰。

後來怎麼樣

重裝完系統之後,我一看,Discover更新了,於是我終於用最新版的icalingua++登錄了QQ。icalingua++很好用,我沒有抹黑他的意思。又過了不久,QQLinux更新了,於是我換上了這個東西用著。但是平常一直用icalingua++。

好消息是,我的系統再沒崩潰過(

隐藏
img_show