我希望能够在Linux中分发程序而不用它来分发源代码。当前的解决方案是使用预编译的二进制文件分发tar.gz。将此二进制文件放在“应用程序”菜单中的最简单方法是什么?有没有办法在大多数Linux发行版中都这样做,但Ubuntu,Fedora和OpenSUSE将是首选。
答案 0 :(得分:8)
您需要创建.deb和.rpm。前者涵盖Ubuntu(Debian变体)和后者Red Hat变体。您还可以为其他可以处理菜单本身等事情的用户提供独立的可执行文件。
您将不得不处理Gnome和KDE菜单管理,并且不同的发行版也会以不同的方式布置它们的菜单。还存在诸如Moblin之类的上网本变体的问题,其具有可能具有其自己的“添加应用程序”机制的上网本界面。我不知道单个.deb是否可以同时处理Gnome和KDE菜单系统(分别用于Ubuntu和Kubuntu),但我想这个功能可以减少Ubuntu的重复工作。
答案 1 :(得分:4)
所有最新发布的 应安装xdg-utils
,其中提供了诸如
似乎是你正在寻找的东西。
答案 2 :(得分:2)
最近没有对它进行过调查......但是当我使用Linux时,回到当天(真的不是很久以前),RPM是分发预先组合的二进制文件的最简单方法(大多数分发都有) ,并且仍然有一些对RPM包的支持。)
这是构建RPM包的旧方法:
答案 3 :(得分:2)
您可以查看BitRock intaller。
答案 4 :(得分:1)
尝试Autopackage或其他question中发布的其他解决方案。
答案 5 :(得分:1)
执行tar.gz,然后授予社区权限以重新分发已修改的包。他们将为他们心爱的发行版制作RPM,DEB和任何其他套餐......这可能比他们所做的更好地适应他们的发行版。
发行版之间存在太多差异,无法制作一个适合所有人的软件包,通常是微妙的软件包。例如,一些发行版具有“应用程序”部分,其他“应用程序 s ”......并且这些菜单项在某些发行版上消失。库可以不同,默认设置可以不同,等等......
RPM和DEB并不像人们所认为的那样便携。使用一个软件包,即使使用单个发行版的不同版本也可能存在问题,并且没有什么比正确安装准备不充分的软件包更糟糕了。
答案 6 :(得分:0)
JeeBee是正确的,你想要使用.deb或.rpm。
对于Ubuntu / Debian(.deb)我会补充一点,你不发送给人,但是你创建了一个“存储库”并让用户将这个url添加到他们的/etc/apt/sources.list,然后你还可以轻松更新软件。
通过这种方式,您可以同时解决分发和更新问题。
以下是一个示例:
存储库的外观如何:
但是不要重复Atmels的错误,只做i386,因为现在有很多其他的常见架构,比如amd64。
/约翰
答案 7 :(得分:0)
对于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