在没有源代码的情况下在Linux中分发程序
题
我希望能够在 Linux 中分发程序,而无需分发源代码。当前的解决方案是分发带有预编译二进制文件的 tar.gz。将此二进制文件放置在“应用程序”菜单中的最简单方法是什么?有没有一种在大多数 Linux 发行版中都很常见的方法来做到这一点,但 Ubuntu、Fedora 和 OpenSUSE 将是优先考虑的。
解决方案
您想创建一个.deb和的.rpm。前者涵盖的Ubuntu(Debian的变体),后者红帽变种。您也可以提供对谁可以处理像菜单自己其他用户独立的可执行文件。
您将不得不面对Gnome和KDE菜单管理,也有不同的分布不同奠定了他们的菜单。还有上网本变体,如Moblin的,有,可能有自己的“添加应用程序”机制,上网本的接口问题。我不知道是否有可能一个.deb文件来处理GNOME和KDE菜单系统(分别为Ubuntu和Kubuntu的),但我想象的能力是有,以减少重复工作的Ubuntu。
其他提示
所有最近的发行版 应该 有 xdg-utils
已安装,它提供了诸如
- xdg 桌面图标
- xdg 桌面菜单
这似乎就是你正在寻找的。
还没有研究它最近......但早在一天(这实际上是不是所有的很久以前)我在使用Linux时,RPM是分发预combiled二进制文件的最简单的方法(最distributations有,而且还有,某种用于RPM包的支持)。
下面是一个老如何对于建立一个RPM包:
您可以看看 BitRock intaller 。
做的tar.gz,然后给社区权利重新分配修改的软件包。他们会做的RPM,德布斯和任何其他包自己心爱的分布......这可能会满足他们的发行版好得多比你所能做出。
有微妙的是那些分布之间真的太多的差异,使一个尺寸适合所有的包,经常。例如一些发行了“应用程序”部分,其他的“应用程序的取值的” ......这使菜单项上的一些发行版中消失。库可以是不同的,默认设置可以是不同的,等等...
RPM和德布斯不那么便携因为据信。随着一个包有可能是即使有不同版本的单配送的问题,没有什么比战斗正确安装不好准备包更糟。
JeeBee 是正确的,您会想要使用 .deb 或 .rpm。
对于 Ubuntu/Debian(.deb),我想补充一点,您不会将其发送给人们,而是创建一个“存储库”并让用户将该 url 添加到他们的 /etc/apt/sources.list 中,然后您就可以轻松获得也是更新软件的方法。
这样你就可以同时解决分发和更新的问题。
下面是一个示例:
存储库的样子:
但不要重复 Atmel 的错误,只做 i386,因为现在还有很多其他常见的架构,比如 amd64。
/约翰
有关RPM,由IBM这三部分教程是最好的初学者指南包装我知道:
http://www.ibm.com/developerworks/library/l- RPM 1 / 结果 http://www.ibm.com/developerworks/library/l-rpm2/ 结果 http://www.ibm.com/developerworks/library/l-rpm3。 HTML