API 网关 Kong 决定更改其 Centos 包的名称。
对于 1.1 之前的版本,其名称为“kong-community-edition”,之后的包名称仅为“kong”。
kong-community-edition.noarch 1.0.2-1 bintray--kong-kong-rpm
kong-community-edition.noarch 1.0.3-1 bintray--kong-kong-rpm
kong-community-edition.noarch 1.1.0rc1-1 bintray--kong-kong-rpm
kong.noarch 1.2.1-1 bintray--kong-kong-rpm
kong.noarch 1.2.2-1 bintray--kong-kong-rpm
kong.x86_64 1.3.0-1 bintray--kong-kong-rpm
我能否以某种方式告诉 YUM 将当前安装的 kong-community-edition 1.1 升级到 kong 1.3 包?
我尝试升级当前安装的版本(1.1.0rc1-1)
yum upgrade kong-community-edition
但报告称没有可用的升级。
我也尝试过专门升级到新版本
yum upgrade kong-1.3.0-1
但报告称 Kong 尚未安装。
我也尝试过使用 install 来安装新版本。
yum install kong-1.3.0-1
但该报告与 kong-community-edition 创建的文件冲突。
有什么方法可以告诉 yum,kong-community-edition-1.1.0rc1-1 之后的版本实际上是 kong-1.2.1-1,以便我可以使用 yum 升级。
目前我唯一的选择似乎是删除 kong-community-edition 包并添加新的 kong 包
yum remove kong-community-edition
yum install kong
但我希望进行就地升级。
回答:
作为软件包的用户,这是无法做到的。kong 软件包需要正确标识它已淘汰 kong-community-edition 软件包,而这需要由软件包维护者来完成。
解决方法:删除 kong-community-edition,安装 kong
答案1
如果您获取 kong rpm 并运行,rpm -q --obsoletes kong-1.3.0.rhel7.amd64.rpm
您将看到“kong-community-edition”不存在。因此,yum install kong
不知道如何删除“kong-community-edition”。您必须执行删除和安装。
如果你看看仓库https://github.com/Kong/kong-build-tools.git您可以看到在第 38 行左右使用了 fpm 来构建 rpm fpm-entrypoint.sh
,并且调用fpm
does not include --replaces
,这在 rpm 术语中意味着已过时。