Arch Linux:如何使用 pacman 忽略某些存储库的某些软件包?

Arch Linux:如何使用 pacman 忽略某些存储库的某些软件包?

我有一个名为 的非官方存储库haskell-core。我想将每个 haskell 包列入黑名单extra并使用其中的包haskell-core。我不想使用 haskell 包,extra并且我需要它的维护成本低。这可能吗?

编辑: Pacman 仍然会安装较新的 haskell 软件包extra

答案1

只需将您的存储库放在[extra]上面pacman.conf。您的文件应如下所示:

[core]
Include = /etc/pacman.d/mirrorlist

[<your custom repository>]
Server = <your repository location>

[extra]
Include = /etc/pacman.d/mirrorlist

这样,您的 haskell 软件包将自动优先于来自 extra 的同名官方软件包,除非 extra 中的软件包具有更高的版本号。如果您不想遇到麻烦,请确保您的包处理官方 haskell 包的所有必要依赖项。仅当自定义软件包的版本号高于官方软件包时,这才有效。

另一种选择是将provides=('<[extra] package name')和添加conflicts=('<package name'>)到您的PKGBUILDs 中,然后将您的存储库添加到 中的任何位置,pacman.conf这样当您安装软件包时 pacman 会询问您是否要替换 中的那些([extra]如果它们已安装)。您的自定义包不应与官方包同名。例如,应该调用一个包<package-name>-custom或类似的东西。

相关内容