如何防止包在 Arch Linux 上升級?


Arch Linux 是使用最廣泛的滾動發行版 Linux 發行版之一。但是,這些軟件包在更新後可能會導致問題。例如,內核更新可能會干擾安裝,因此禁用它們可能沒問題(如果您沒有新硬件)。

Pacman 是 Arch Linux 和基於 Arch 的發行版(如 Artix、Manjaro 和 Endeavor OS)的默認包管理器。 您可以通過編輯 pacman.conf 文件來禁用特定軟件包的更新。

如果您遭受電池快速耗盡的困擾,請查看我們的快速指南,以提高您的 Arch Linux 電池壽命。

為什麼禁用特定軟件包的更新?

由於這是一個滾動發布發行版,它將在開發人員發布包更新後立即發布。這允許開發人員花費更少的時間來修復錯誤。這些有缺陷的包可能會導致您的應用程序無法運行,如果包非常關鍵,可能會使您的系統崩潰。

如果已知版本的軟件包已經過良好測試並且在您的系統上運行良好,停止軟件包升級應該可以解決問題。

防止 Arch Linux 上的軟件包更新

只需使用您喜歡的文本編輯器編輯 /etc/ 目錄中的 pacman.conf 文件。打開終端並輸入:

# For Vim Users
sudo vim /etc/pacman.conf

# For nano users
sudo nano /etc/pacman.conf

如果您使用的是 vim 編輯器,請按鍵盤上的“i”進入插入模式。然後向下滾動,直到找到類似“IgnorePkg and IgnoreGroup”的內容。

取消註釋排除軟件包的選項

通過刪除前導“#”取消註釋 IgnorePkg 行並添加要從更新中排除的包的名稱。

在 Arch Linux 上排除更新包

如果要從升級中排除多個包,可以用空格分隔它們。現在,如果您使用的是 nano 文本編輯器,請按 Ctrl+O 保存並按 Ctrl+X 退出。 對於 vim 用戶,請按 Escape 並輸入 :wq 結束。

如果以上都不起作用,這裡有 10 種退出 VIM 編輯器的方法。

您也可以排除整個應用程序組,但我不推薦(除非您知道自己在做什麼)取消註釋 pacman.conf 文件中的 IgnoreGroup 行,如下所示:

IgnoreGroup = kde-applications

下次更新排除的軟件包時,您需要修改 pacman.conf 文件。

您還可以通過鍵入帶有忽略選項的 pacman -Syu 來排除軟件包,如下所示:

sudo pacman -Syu --ignore=vim,linux,linux-headers
在排除軟件包的同時升級 Arch Linux在排除軟件包的同時升級 Arch Linux

概括

Linux 絕對給你更多的自由。 與 Windows 不同,在 Linux 發行版中更新本質上是強制性的,您可以選擇升級的內容和時間。 Manjaro Linux 不需要上述步驟。 Manjaro 團隊會保留包,直到它“足夠穩定”,但你可能會遇到依賴錯誤。出於同樣的原因,不要過多延遲應用更新。

參考

吃豆人 – ArchWiki