我不應該馬上更新 Antegros 嗎?
我昨天用 Cinnamon DE 安裝了 Antergos。使用了一段時間後,我收到了一些核心軟體包更新的通知,我想“嘿,保持最新狀態很好,對吧?為什麼不呢?”並更新了所有內容。
今天,我發現我無法登錄。幸運的是,我能夠得到一個 tty 提示並安裝 Xfce4,我可以從那裡在網際網路上尋找解決方案。
事實證明,我所做的那些更新包括
readline
從 6.3 升級到 7.0。cinnamon-desktop
顯然依賴於 6,所以我開始收到如下錯誤:cinnamon: error while loading shared libraries: libreadline.so.6: cannot open shared object file: No such file or directory
當然,首先找到此錯誤消息需要一些搜尋。
確實,我只有
/lib/libreadline.so.7
,所以這解釋了問題。然後我假設簡單的解決方案是只安裝舊版本/lib/readline.so.6
,就是這樣,但我很難弄清楚如何做到這一點pacman
,事實證明這在 Arch 中並不鼓勵。最終,我遵循了有關此問題的執行緒的建議,並簡單地將我的記憶體從記憶體降級
readline
到 6.3pacman
,而且bash
因為它依賴於readline
. 現在肉桂像以前一樣起作用。我在更新通知程序中看到這兩個包,我知道如果我安裝它們會破壞我的系統。**我的問題是:**這種事情(更新突然破壞了一切)是 Arch 和/或 Antergos 的預期行為嗎?是否有某種“穩定”的渠道可供我使用,僅在更新已經發布一段時間並在現實世界中進行測試後才接收更新?
我本來打算把早上的時間花在工作上,但我卻用它來修復由更新引起的錯誤。我做錯什麼了?有經驗的 Arch 使用者如何處理這個問題?
- 除非我絕對需要它們,否則我是否應該不安裝更新?(但是安全和漏洞呢?)
- 我是否應該只定期安裝更新,然後花時間進行不可避免的故障排除?
- 我是否應該以不同方式配置我的儲存庫/更新設置以不獲取最新更新?
- 這是預期的行為嗎?您應該習慣於從記憶體中回滾嗎?
附錄:Cinnamon 的問題僅作為範例包含在內,但為了等待未來讀者的混淆,我不應該認為它現在已通過重建 cinnamon 得到修復(在錯誤打開後 7 小時)。看起來我很“幸運”——我在
readline
7 推出時更新了,但在 Cinnamon 維護人員能夠抓住並修復它之前。
這個問題可能更好地針對 Antergos 論壇,但我可以從 Arch 的個人經驗中分享:
- 通常,經常升級比不經常升級要好。當它們出現時,您會發現任何問題並一次處理它們,而不是讓它們堆積起來。
- 更新你認為合適的。沒有特別的理由堅持任何特定的升級計劃;這取決於您的系統和您的需求。例如,我發現安裝較少軟體包的 Arch 系統通常不需要頻繁更新。在我經常使用的 4 個 Arch 系統上,我每次登錄時都會更新(最多一天一次),這似乎工作得很好。
- 堅持使用來自最新儲存庫的最新更新。一般來說,這將為您提供最新的安全更新,讓您的軟體包更有可能與您系統上的其他軟體一起工作,並保持一切順利執行。
- 就個人而言,我很少需要從記憶體中回滾。當升級出現問題時,通常是由於維護人員未能正確建構或測試他們的包,而不是因為我升級過度。
您在 Cinnamon 上遇到的問題似乎與包維護人員的打包工作不佳有關,而不是 Arch 風格的前沿滾動更新的失敗。就個人而言,我在 Arch 上使用 Cinnamon 時遇到了一些問題,而且它從來沒有像其他 DE 那樣好用(我使用過 Gnome、MATE 和 i3 的麻煩要少得多)。
我想分享的最後一件事是,如果您知道有問題的軟體包會在升級時中斷,您可以將它們添加
IgnorePkg
到/etc/pacman.conf
. 我只需要很少這樣做,而且幾乎總是我忽略的 AUR 包(我喜歡使用 AUR 助手)。有一次我不得不將IgnorePkg
筆記型電腦上的核心列入黑名單,因為背光的專有驅動程序在最近的核心版本上不起作用(幸運的是,這最終在上游得到了修復,我可以回去接收核心更新)。除非絕對必要,否則我不建議採用這種方法。