包名更改時 YUM 升級
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 中轉換為過時行話。