2011-08-20 78 views
2

我們正在嘗試將一個跨平臺桌面應用程序發佈到三個主要平臺(Windows,MacOSX和Linux)。在Windows上,通過exe安裝程序和MacOSX上的dmg非常常見。我的問題是,在Linux上發佈什麼?發送一個跨平臺桌面應用程序

我見過公司發佈.sh二進制文件。這是發佈Linux的最佳方式嗎?

感謝

回答

1

一些公司,如Mozilla,分發每一個建築的tar.gz:

  • 大,靜態鏈接,
  • 沒有標準的工具更新,
  • 很難維持集中(在一個組織中),
  • 死易安裝
  • 簡單發佈。

其他公司,如谷歌,分發多種包格式,或至少.rpm和.deb,旨在主要版本的主要分佈。

  • 結構緊湊,公共依賴由包管理器處理,
  • 使用標準的包管理器,可以方便地集中維護,
  • 需要特權才能安裝,
  • 需要密切關注與支持迪士通版本的兼容性,
  • 需要複雜的封裝基礎設施。
0

儘管rpm和deb包是許多 Linux發行版的標準,由9000提到的,你將被迫 維護多個格式,同時也擔心 不同版本的包管理的差異。例如,RPM包 4.x的目標將無法在3.x的工作:

http://fedora.linuxsir.org/fedoradocs/rpm-guide/en/ch-rpm-evolution.html

,並在許多情況下,分佈之間的方式RPM依賴關係是相當大的。 如果您的應用程序是一個流行的開源應用程序,那麼它就不是 的問題,因爲分發維護人員將負責爲其創建 程序包。事情的變化,如果你是一個商業或關閉 源公司,特別是如果你還需要支持Windows和 OS X

有時更方便有一個單獨的安裝程序,在不同的Linux發行版的頂部 工作或者在某些情況下,在實際安裝應用程序之前向最終用戶詢問所需信息時,您需要更多的靈活性。某些公司(內部打包tar.gz)使用的shell腳本可能會解決這個本地程序包的限制,但其UI 中的限制仍然非常有限,且維護起來非常複雜(大多數邏輯必須包含在 shell腳本,必須在不同shell中可移植......)。他們 也需要預先解壓捆綁的tar.gz。

有一些 獨立的Linux版本和高度可定製的工具,使得創建二進制可執行安裝程序。這些工具 具有易於維護和安裝的優點,但取決於該工具的 可能需要某些目標機器(例如Java)中的一些先決條件。

您可以嘗試我們的BitRock InstallBuilder(免責聲明,我的 開發者之一),創建在任何Linux版本 沒有任何外部依賴關係或先決條件運行的二進制安裝程序。 生成的安裝程序將最小的開銷添加到打包文件 ,並且非常容易定製。此外,同一個項目文件可以共享爲 以生成多個平臺,因此您可以使用三個 平臺進行很少的增量工作。我們也支持 生成.rpm和.deb軟件包,但正如上面提到的那樣,您會在 上失去靈活性。我想指出,我們爲開放的 源項目提供免費許可。