繁体   English   中英

在没有源代码的情况下在linux中分发程序

[英]Distributing a program in linux without the source

我希望能够在Linux中分发程序而不用它来分发源代码。 当前的解决方案是使用预编译的二进制文件分发tar.gz。 将此二进制文件放在“应用程序”菜单中的最简单方法是什么? 有没有办法在大多数Linux发行版中都这样做,但Ubuntu,Fedora和OpenSUSE将是首选。

您将需要创建.deb和.rpm。 前者涵盖Ubuntu(Debian变体)和后者Red Hat变体。 您还可以为可以处理菜单本身等事情的其他用户提供独立的可执行文件。

您将不得不处理Gnome和KDE菜单管理,并且不同的发行版也会以不同的方式布置它们的菜单。 还存在诸如Moblin之类的上网本变体的问题,其具有可能具有其自己的“添加应用程序”机制的上网本界面。 我不知道单个.deb是否可以同时处理Gnome和KDE菜单系统(分别用于Ubuntu和Kubuntu),但我想有能力减少Ubuntu的重复工作。

所有最近的发行版都应该安装xdg-utils ,它提供了诸如的脚本

  • XDG-桌面图标
  • XDG桌面菜单

这似乎是你正在寻找的。

最近没有调查过......但是当我使用Linux时,回到当天(这真的不是很久以前),RPM是分发预先组合的二进制文件的最简单方法(大多数分发都有,但仍然有一些对RPM包的支持)。

这是构建RPM包的旧方法:

Linux Online - RPM操作方法

你可以看看BitRock intaller

尝试在另一个问题中发布的Autopackage或其他解决方案。

执行tar.gz,然后授予社区权限以重新分发已修改的包。 他们将为他们心爱的发行版制作RPM,DEB和任何其他套餐......这可能比他们所做的更好地适应他们的发行版。

发行版之间存在太多差异,无法制作一个通用的软件包,通常是微妙的软件包。 例如一些发行了“应用程序”部分,其他的“应用程序 ” ......这使菜单项上的一些发行版中消失。 库可以不同,默认设置可以不同,等等......

RPMs和DEB并不像人们所认为的那样便携。 使用一个软件包即使对于单个发行版的不同版本也可能存在问题,并且没有什么比正确安装准备不充分的软件包更糟糕了。

JeeBee是正确的,你想要.deb或.rpm。

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

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

这是一个如何看起来像这样的例子:

以及存储库的外观如何:

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

/约翰

对于RPM,IBM的这个由三部分组成的教程是我所知道的最佳初学者包装指南:

http://www.ibm.com/developerworks/library/l-rpm1/
http://www.ibm.com/developerworks/library/l-rpm2/
http://www.ibm.com/developerworks/library/l-rpm3.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM