首页 文章

如何捆绑Linux应用程序

提问于
浏览
7

我正在编写一个(闭源)应用程序,并将为所有三个主要平台(MacOS X,Linux和Windows)提供二进制文件 . 它在LGPL许可下使用Qt,因此我需要动态链接Qt库 . 我理解如何通过简单地为应用程序提供Qt动态库来捆绑MacOS和Windows的应用程序,但我不确定如何正确地为Linux做这件事 .

将应用程序作为包(.deb和.rpm)提供并允许包系统解析依赖关系是很传统的 . 应该用这种方法吗?如果是这样,我应该针对哪些发行版(我假设是Ubuntu和Fedora)?如果有人对此有任何经验,我会有兴趣听到它 .

3 回答

  • 0

    debrpmtarballs 是正确的方法 . 我知道您可能想要考虑的一些非标准方法,这些方式更具发行版无关性 .

    • Makeself - 包含应用程序的自解压shell脚本 . 这是闭源软件分销商广泛使用的 .

    • ZeroInstall - 对非root用户安装很有用 .

    • Listaller - 与自动安装合并,它现在似乎不稳定 .

  • 2

    您需要为Linux提供至少3个软件包;基于Debian的系统的.deb,基于RPM的系统的.rpm,以及其他所有系统的tarball . 有些人发现有必要对Fedora,SuSE,Mandriva和RHEL提供三个或四个不同的.rpm软件包进行优化,具体取决于软件具有的确切库要求 .

  • 3

    有很多方法可以做到这一点......但是如果你想要一个分发通用的方法来捆绑Linux的应用程序,你可以查看thishttp://codevarium.gameka.com.br/deploying-cc-linux-applications-supporting-both-32-bit-and-64-bit/)教程 . 它显示了如何将所有依赖项复制到库文件夹,并使shell脚本正确执行该bundle .

相关问题