如何防止包在 Arch Linux 中升级?

Arch Linux 是使用最广泛的滚动发行版 Linux 发行版之一。 但有时这些软件包会在更新后给您带来麻烦。 例如,内核更新可能会干扰您的安装,因此禁用其更新可能是可以的(除非您有新硬件)。

Arch Linux 和基于 Arch 的发行版(如 Artix、Manjaro 和 Endeavor OS)中的默认包管理器是 Pacman。 它允许您通过编辑 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 和 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