我希望能够在 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包:

的Linux在线 - RPM如何对

您可以看看 BitRock intaller

尝试 自动打包 或在另一个帖子中发布的其他解决方案 问题.

做的tar.gz,然后给社区权利重新分配修改的软件包。他们会做的RPM,德布斯和任何其他包自己心爱的分布......这可能会满足他们的发行版好得多比你所能做出。

有微妙的是那些分布之间真的太多的差异,使一个尺寸适合所有的包,经常。例如一些发行了“应用程序”部分,其他的“应用程序的取值的” ......这使菜单项上的一些发行版中消失。库可以是不同的,默认设置可以是不同的,等等...

RPM和德布斯不那么便携因为据信。随着一个包有可能是即使有不同版本的单配送的问题,没有什么比战斗正确安装不好准备包更糟。

JeeBee 是正确的,您会想要使用 .deb 或 .rpm。

对于 Ubuntu/Debian(.deb),我想补充一点,您不会将其发送给人们,而是创建一个“存储库”并让用户将该 url 添加到他们的 /etc/apt/sources.list 中,然后您就可以轻松获得也是更新软件的方法。

这样你就可以同时解决分发和更新的问题。

下面是一个示例:

存储库的样子:

但不要重复 Atmel 的错误,只做 i386,因为现在还有很多其他常见的架构,比如 amd64。

/约翰

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top