安装librdkafka-devel 遇到的yum源优先级问题
事情起因
confluent-kafka-go
librdkafka
我们服务是aws linux 2的机器,相当于centos7。按照文档说明配置yum 源:
aws linux 2 的 $releasever 是2,需要手动改为7(centos7)
yum list librdkafka-devel
confluent-kafka-go的依赖是1.9.0,必须安装librdkafka-devel 1.9.0才能编译成功。aws 自带的librdkafka-devel 版本太低
排查过程
librdkafka-devel-1.9.0-1.cflt.el7.x86_64.rpmlibrdkafka-devel-1.9.0-1.cflt.el7.x86_64.rpmrpm -i librdkafka-devel-1.9.0-1.cflt.el7.x86_64.rpmyum localinstall librdkafka-devel-1.9.0-1.cflt.el7.x86_64.rpm
成功,悲喜交加,搞了2个小时解决了。
但yum list 或 yum search 为什么没找到 librdkafka-devel 包的问题还是找到
追查问题并找到原因
yum repoinfo Confluent-Clients/x86_64
yum 68 packages excluded due to repository priority protections
在google搜了这个报错,找到了问题的原因: yum源的优先级 —— 如果yum中多个源都包含同一个包时,它只会取最高优先级的源的包
/etc/yum.repo.d/confluent.repopriority=1
yum list librdkafka-devel-1.9.0-1.cflt.el7.x86_64.rpm1.9.0-1
.修改priorities的配置文件/etc/yum/pluginconf.d/priorities.conf,enabled=0 可以禁用priorities插件。也可以解决优先级问题 (不过我没试过)