代码之家  ›  专栏  ›  技术社区  ›  DHamrick

在没有源代码的Linux中分发程序

  •  3
  • DHamrick  · 技术社区  · 17 年前

    我希望能够在Linux中分发程序,而不必使用它分发源代码。当前的解决方案是使用预编译的二进制文件分发tar.gz。在应用程序菜单中放置这个二进制文件最简单的方法是什么?有没有一种方法可以做到这一点,这在大多数Linux发行版中都很常见,但Ubuntu、Fedora和OpenSUSE将是优先考虑的。

    8 回复  |  直到 16 年前
        1
  •  8
  •   JeeBee    17 年前

    您将要创建一个.deb和一个.rpm。前者包括Ubuntu(Debian变种),后者包括RedHat变种。您还可以为其他用户提供一个独立的可执行文件,这些用户可以自己处理菜单之类的事情。

    您将不得不处理gnome和kde菜单管理,并且不同的发行版对它们的菜单进行了不同的布局。还有上网本变种的问题,如Moblin,它有一个上网本接口,可能有自己的“添加应用程序”机制。我不知道一个.deb是否可以同时处理gnome和kde菜单系统(分别为Ubuntu和Kubuntu),但我想有能力减少Ubuntu的重复工作。

        2
  •  4
  •   Robert Munteanu    17 年前

    所有最近的分配 应该 xdg-utils 已安装,它提供脚本,例如

    • xdg桌面图标
    • xdg桌面菜单

    这似乎是你想要的。

        3
  •  2
  •   Justin Niessner    17 年前

    最近没有研究过它……但是在我使用Linux的那一天(其实不是很久以前),RPM是分发预编译二进制文件的最简单方法(大多数分发版都支持,而且仍然支持RPM包)。

    下面是一个构建RPM包的老方法:

    Linux Online - RPM How-To

        4
  •  2
  •   eduffy    17 年前

    你可以看看 BitRock intaller .

        5
  •  1
  •   Community Mohan Dere    9 年前

    尝试 Autopackage 或其他解决方案 question .

        6
  •  1
  •   liori    17 年前

    执行tar.gz,然后授予社区重新分发修改过的包的权限。他们将为他们喜爱的发行版制作RPM、DEBS和任何其他软件包…这可能比你做的更适合他们的发行版。

    发行版之间的差异实在太多,无法使一个大小适合所有的包,通常是细微的包。例如,一些发行版有“应用程序”部分,其他“应用程序” S “……”这使得菜单项在一些发行版上消失。库可以不同,默认设置可以不同,等等…

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

        7
  •  0
  •   Johan    17 年前

    Jeebee是正确的,你想用.deb或.rpm。

    对于Ubuntu/Debian(the.deb),我想补充一点,你不会把它发送给别人,但是你会创建一个“存储库”,让用户把这个URL添加到他们的/etc/apt/sources.list中,然后你就可以很容易地更新软件了。

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

    下面是一个例子,展示了它的样子:

    以及存储库的外观:

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

    Johan

        8
  •  0
  •   JCCyC    16 年前