
是否有一些準則,或者有人對我應該如何打包我需要能夠同時安裝多個版本的東西有建議嗎?
答案1
我不確定這是否符合您想要完成的任務,但在我從事的一個專案中,我們透過首先指定目錄結構來做到這一點,例如:
/usr/local/[project_name]/[version]
其中project_name
是項目的“基本名稱”,並且version
是特定標記的版本。然後,我們對 RPM 版本使用任意數字(單調遞增),以便同一標籤或分支內的版本可以進行 RPM 升級,而不會與其他標籤/分支發生衝突。這表示您需要在 RPM 名稱標頭中的某個位置編碼版本號,而不是版本,例如
Name: foobar-1.0
Version: 1234
Release: 1
# ...etc...
在這種情況下,RPM 可能會安裝到該路徑下/usr/local/foobar/1.0
,後續版本將命名為「foobar-2.0」並以類似方式安裝。
名稱“foobar-1.0”意味著您需要一些其他系統,不是RPM 系統,為了追蹤版本號 - 我們使用了一個 shell 腳本,它只是根據標記版本的需求產生規格檔。這可能有點麻煩,但它為您帶來了靈活性,能夠以通用的方式安裝一個軟體包的多個版本,並且能夠同時使用多個版本。
這只是一個建議,YMMV 顯然是這樣。
答案2
只需為軟體包指定不同的名稱,並確保它們將檔案安裝到不同的位置即可。
或將所有版本捆綁到一個包中。