对于百胜来说相当陌生,所以如果我说错了什么,请原谅。我们尝试仅使用内部 RPM,因此是否可以让用户能够安装仅有的来自我们的存储库,而不禁用可能包含我们的包依赖项的其他存储库?
例如,假设我们的 RPM 位于存储库 A 中,但其中一些依赖于存储库 B 中的软件包。但是,从 A 安装软件包的人不应该能够直接从 B 安装。基本上,用户之间存在一定程度的分离和存储库 B.
User
O can install from A |-----| which has dependencies in |-----|
-|- <------------> |repoA| <-----------------------> |repoB|
/ \ |-----| |-----|
| ^
| should not be able \ / |
-------------------------------X-------------------------------
to access B / \
我应该注意,这可以通过插件(我需要编写)来完成,但我很好奇首先如何做到这一点。
答案1
includepkgs
您可以在 .repo 文件中包含一条指令,该指令可能就是您正在寻找的内容。
如果您编辑“B”存储库文件/etc/yum.repos.d
并添加
includepkgs= dependency1 dependency2 etc
然后它应该只下拉您定义的包。
我现在无法测试,但如果这不起作用可能如果你放的话工作
`exclude = *`
在指令之前includepkgs
作为一种默认拒绝规则。