Linux
商業軟體應該使用哪些安裝程序類型來支持 Linux?
原始碼未開放或免費,因此無法在安裝時編譯。到目前為止,我已經看到開發人員:
- 提供一個 tar.gz 文件,由使用者在合適的位置解壓縮。
- 提供帶有 install.sh 腳本的 .tar.gz 以執行基本安裝程序,甚至可能提示使用者輸入安裝選項。
- 提供 RPM 和/或 deb 文件,允許使用者繼續使用他們熟悉的原生包管理工具進行安裝/升級/解除安裝。
希望支持最多數量的 Linux 發行版,讓使用者的生活盡可能輕鬆,同時盡可能少地維護建構/打包/安裝程序基礎設施。
尋找有關如何打包我的軟體的建議。
我看到了兩種看待它的方式。
一種是針對最流行的 Linux,為每個 Linux 提供本機包,按流行順序提供包。幾年前,這意味著首先為 Red Hat 類型的 Linux 提供 RPM,然後在時間允許的情況下為每個不太流行的基於 RPM 的 Linux 重新建構源 RPM。這就是為什麼 Mandriva RPM 通常比 Red Hat 或 SuSE RPM 稍舊的原因。不過,隨著 Ubuntu 在過去幾年如此流行,您可能希望從 .deb 開始,然後再添加 RPM。
另一種是嘗試同時針對所有Linux,這是提供二進制 tarball 的人正在嘗試的。作為系統管理員和最終使用者,我真的不喜歡這個選項。這樣的 tarball 將文件分散在你解壓它們的整個系統中,並且以後沒有選項可以用於解除安裝、包驗證、智能升級等細節。
您可以嘗試一種混合方法:用於最流行的 Linux 的本機包,以及用於古怪 Linux 的二進制 tarball,以及出於任何原因不喜歡包管理器的老式系統管理員。