从 YUM 更新中排除特定 repo

从 YUM 更新中排除特定 repo

我正在 RHEL 5.5 上进行系统范围的 yum 更新,而 IUS EPEL 存储库抛出了缺少依赖项错误:

php53-mcrypt-5.3.3-4.ius.el5.x86_64 from installed has depsolving problems
--> Missing Dependency: php53-common = 5.3.3-4.ius.el5 is needed by package php53-mcrypt-   5.3.3-4.ius.el5.x86_64 (installed)
Error: Missing Dependency: php53-common = 5.3.3-4.ius.el5 is needed by package php53-mcrypt-5.3.3-4.ius.el5.x86_64 (installed)

有没有办法对所有其他存储库忽略 IUS EPEL 存储库以跳过此依赖问题?

澄清

我正在尝试仅从 Redhat 网络安装更新。我找不到存储库名称,因此无法执行类似操作,sudo yum --disablerepo=* --enablerepo=rhel update因为我使用的 yum 版本不支持在 后列出的多个存储库--disablerepo

更新

我的临时解决方法是运行sudo yum --exclude=php53* update。我确信有更好的方法。这个更好的方法包括修复实际问题,所以我向IUS 社区项目也一样。

更新 #2

看来我发现了这个问题依赖性。我仍然认为应该有一个可行的解决办法。

谢谢!

答案1

尝试禁用 repo 开关:

--disablerepo=REPONAME

更新

查找当前“已知”(启用和禁用)的所有存储库:

yum repolist all

然后,要找到哪个存储库因上述软件包而给您带来麻烦,请尝试:

yum list php53-mcrypt-5.3.3-4.ius.el5.x86_64 --showduplicates

这将显示您的哪些存储库提供上述包(您还会在列表中看到“已安装”,以显示本地安装的包)。

一旦您知道使用禁用 repo 开关的存储库,请再次尝试禁用开关。

yum update --disablerepo=[from above]

如果无法通过上述步骤找出您想要忽略的存储库,请尝试查看/etc/yum.repos.d/,这是 RHEL 存储库定义的默认位置。进入此目录后,找到所有非标准 RHEL 基础和更新存储库文件并包括已启用=0例如,

[repo]
enabled=0

希望这可以帮助。

答案2

您可以在 yum 命令行上禁用多个存储库:

yum update --disablerepo=myrepo1 --disablerepo=myrepo2 --disablerepo=myrepo3

但是,如果这样做,您必须明确启用所需的 repo:

yum update --disablerepo=myrepo1 --disablerepo=myrepo2 \
           --disablerepo=myrepo3 --enablerepo=TheRepoIWant

答案3

最简单的方法是用你不需要的 repo 注释掉以下行/etc/yum.repos.d/

答案4

您可以添加enabled=0到存储库配置文件来禁用它。

存储库配置文件示例http://www.cyberciti.biz/tips/rhel5-fedora-core-add-new-yum-repository.html

相关内容