如何忽略软件包在Arch Linux中的升级
时间:2020-03-21 11:46:57 来源:igfitidea点击:
我们可能会想到,为什么有人会忽略软件包的升级?
过时的软件包可能易受攻击,并且对我们的系统不安全,对吗?
是的!我们需要定期更新系统以获取最新软件包,并使我们的系统更安全。
但是,出于某些原因,我们需要阻止一个或者一组软件包升级。
由于Arch Linux是滚动发行版,因此某些新软件包可能会破坏系统,或者某些应用程序可能依赖于软件包的特定版本才能正常工作。
这就是为什么有时我们需要阻止软件包升级到其较新版本的原因。
一旦确定新软件包不会引起任何问题,并且与所有依赖项和应用程序兼容,便可以将其升级到最新的可用版本。
此教程解决了如何忽略软件包在Arch Linux及其衍生版本中的升级。
警告:忽略软件包升级有时可能会破坏系统。
请注意!除非必要,否则不要这样做。
忽略软件包在Arch Linux中的升级
要忽略软件包的升级,需要将其添加到pacman.conf文件中的IgnorePkg或者IgnoreGroup的成员中。
例如,要在更新Arch Linux时忽略升级vlc,我们需要执行以下操作。
编辑pacman.conf文件:
$sudo vi /etc/pacman.conf
如下所示添加行“ IgnorePkg = vlc”。
# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup #IgnorePkg = IgnorePkg = vlc #IgnoreGroup =
保存并关闭文件。
要忽略一组软件包,例如,需要添加IgnoreGroup = plasma-desktop。
每当我们尝试更新vlc时,都会看到如下警告消息。
$sudo pacman -S vlc
输出示例:
:: vlc is in IgnorePkg/IgnoreGroup. Install anyway? [Y/n]
要删除它,只需在它的前面添加一个符号即可删除或者注释掉IgnorePkg = vlc行。
现在,再次运行以下命令来更新Vlc:
$sudo pacman -S vlc
resolving dependencies... looking for conflicting packages... Packages (1) vlc-2.2.4 Total Installed Size: 10.7 MiB Net Upgrade Size: 2.15 MiB :: Proceed with installation? [Y/n] y (1/1) checking keys in keyring [########] 100% (1/1) checking package integrity [########] 100% (1/1) loading package files [########] 100% (1/1) checking for file conflicts [########] 100% (1/1) checking available disk space [########] 100% :: Processing package changes... (1/1) upgrading vlc [########] 100%
从上面的输出中可以看到,Vlc已升级到最新版本。
上述方法将永久停止指定软件包的升级,直到我们将其从忽略列表中删除为止。
要临时执行此操作,我们可以简单地运行:
$sudo pacman -Syu --ignore=vlc
该命令将跳过vlc软件包的更新。
同样,要跳过软件包组,只需运行:
$sudo pacman -Syu --ignoregroup=plasma-desktop