如何防止ArchLinux的软件包被自动更新

ArchLinux 是一个优秀的操作系统,但是实际使用的过程中时间给我上了一课! 最初追逐Gnome3的简洁,同时它也是渲染效果最好的桌面环境,与之齐名的是KDE Plasma 桌面环境。在Plasma4的时候,由于其经常漰溃,所以切换到了Gnome3。 但Gnome3虽然简洁好用,同时最符合我的个人需求,但是它的最大缺点就是依懒大量的插件,而我主要需要的插件是hide-top-bardash-to-dockUSER-Theme , 每次Gnome3的大版本升级,这些插件就会大量挂掉!由于这个问题切换到了KDE Plasma5, 据网传Plasma5比Plasma4要稳定的多,经过几个月的使用,证实了Plasma5稳定的传说。但是在2024年04月11日升级我的ArchLinux后,发现Plasma5已经升级到了Plasma6, 刚刚到这个桌面环境下,由于第一次支持Wayland, 速度提升明显,但是毕竟是刚刚发布,其稳定性堪忧,这不2024年04月14日系统就无法进入了!不得不考虑切换到其他桌面,尝试了budgie, 其足够简洁,同时基于gnome3构建,而它比Gnome3落后太多,渲染效果并不好。综合上述使用经验,一个在生产实践中的最佳方法就是不要急于升级桌面环境,要待Gnome3的插件都稳定的跟上相应版本时升级Gnome3环境,对于Plasma也是,不要急于升级,等到Plasma版本稳定后再升级。本文就是在解决这个稳定使用的问题时提出的,这是时间和实践的教训!

Pacman列出可用软件包组

pacmanpackage manager的缩写。列出可用软件包组命令:

1
2
3
sudo pacman -Sg
sudo pacman -Sg gnome
sudo pacman -Sg gnome |wc -l
  • 第1条命令,列出可用软件包组.
  • 第2条命令,列出软件包组gnome所包含的软件包.
  • 第3条命令, 检查软件包组gnome所包含的软件包数量.

配置软件包和软件包组禁止更新

编辑文件/etc/pacman.conf, 找到IgnorePkgIgnoreGroup, 对应位置后添加不需要升级的软件包或软件包组的名字。如果要添加多个包,则用空格分隔两个连续的包,即

禁用了gnome和gnome-extra的升级
1
2
3
4
5
6
7
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
#IgnorePkg =
IgnoreGroup = gnome gnome-extra kde-applications

#NoUpgrade =
#NoExtract =

临时禁止软件包或软件包组更新

此时逗号分隔多个包或组
1
2
sudo pacman -Syyu --ignore=linux,vim
sudo pacman -Syyu --ignoregroup=gnome, gnome-extra

降级安装软件包

1
2
sudo pacman -S downgrade
sudo downgrade plasm-desktop