Yum

包名更改時 YUM 升級

  • January 13, 2020

API Gateway 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

如果您獲得 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,您可以看到 fpm 用於在fpm-entrypoint.sh第 38 行左右建構 rpm,並且呼叫fpm不包括--replaces在 rpm 中轉換為過時行話。

引用自:https://serverfault.com/questions/998263