简而言之,我将发布一个用OCaml编写的应用程序,我计划通过源代码分发它。问题是OCaml开发系统不是轻量级的,也不是很常见,所以我想以二进制方式为各种操作系统发布它。Windows没有问题,因为我可以通过cygwin编译它并使用所需的dll分发它OSX也不是问题,因为我可以轻松地编译和分发它(我试过的没有外部依赖)当到达Linux时,问题就来了,因为我真的不知道哪种编译和分发它的最佳方式。程序本身不依赖任何东西(一切都是静态链接的)但是如何覆盖许多分布?我有一台ubuntuserver10虚拟化的amd64架构,我用这台机器在Linux下测试程序,一切正常。当然,如果我尝试将二进制文
问题我有一个庞大的基础架构,其中包含多种运行Linux的服务器。例如,数据库服务器、负载平衡器、特定于应用程序的服务器。每种服务器都有很多实例,所有实例都需要可复制。每种服务器基本上都是一个自定义发行版。自定义包括对上游包(其他上游版本、构建选项、补丁等)的更改,可能还有一些额外的自定义包。例如,我需要一台运行最新OpenLDAPslapd的服务器,该OpenLDAPslapd是使用特定选项和一些补丁编译的。这就是事情变得复杂的地方。更新到最新的slapd还需要更新它所依赖的库,这意味着也要重建所有依赖这些库的包。那就是我基本上需要重建发行版的重要部分。我正在寻找一种有助于自动化此过程
问题我有一个庞大的基础架构,其中包含多种运行Linux的服务器。例如,数据库服务器、负载平衡器、特定于应用程序的服务器。每种服务器都有很多实例,所有实例都需要可复制。每种服务器基本上都是一个自定义发行版。自定义包括对上游包(其他上游版本、构建选项、补丁等)的更改,可能还有一些额外的自定义包。例如,我需要一台运行最新OpenLDAPslapd的服务器,该OpenLDAPslapd是使用特定选项和一些补丁编译的。这就是事情变得复杂的地方。更新到最新的slapd还需要更新它所依赖的库,这意味着也要重建所有依赖这些库的包。那就是我基本上需要重建发行版的重要部分。我正在寻找一种有助于自动化此过程
我正在寻找一个非常小的linux发行版的建议,我可以在VirtualBox中运行而不会杀死主机系统,并且还可以运行最新的Sun/Oracle-Java。除了Postgres和文本编辑器外,我不需要其他任何东西。我忘记了数以百万计的不同发行版,但也许你们中的一些人已经在您的销售机器人中部署了类似的东西? 最佳答案 http://susestudio.com/看起来很合适——Java、Postgres,没有别的是相当不常见的配置。或者,从Debianminimal开始,apt-get所需的内容,然后重新分发VirtualBox磁盘镜像是
我正在寻找一个非常小的linux发行版的建议,我可以在VirtualBox中运行而不会杀死主机系统,并且还可以运行最新的Sun/Oracle-Java。除了Postgres和文本编辑器外,我不需要其他任何东西。我忘记了数以百万计的不同发行版,但也许你们中的一些人已经在您的销售机器人中部署了类似的东西? 最佳答案 http://susestudio.com/看起来很合适——Java、Postgres,没有别的是相当不常见的配置。或者,从Debianminimal开始,apt-get所需的内容,然后重新分发VirtualBox磁盘镜像是
我正在进行跨平台开发,我想为Linux构建一个漂亮的、独立的(!)包。我知道这不是通常的做法,但应用程序需要将所有数据放在一个地方,所以我将它安装到/opt中,就像许多其他专有软件包所做的那样。我最终会提供deb和rpm包,但现在只是.tar.gz。用户应该将它提取到某处,它应该可以工作。我宁愿没有安装程序。首先是我的问题,然后是详细信息:其他人如何为Linux打包专有软件?是否有用于打包软件(包括共享库)的工具?现在了解一些细节:这是我的项目(为此我将其称为foo)布局:foo(二进制)配置文件数据现在在包中,将有两个额外的元素:图书馆foo.shlibs将包含项目所需的所有共享库,
我正在进行跨平台开发,我想为Linux构建一个漂亮的、独立的(!)包。我知道这不是通常的做法,但应用程序需要将所有数据放在一个地方,所以我将它安装到/opt中,就像许多其他专有软件包所做的那样。我最终会提供deb和rpm包,但现在只是.tar.gz。用户应该将它提取到某处,它应该可以工作。我宁愿没有安装程序。首先是我的问题,然后是详细信息:其他人如何为Linux打包专有软件?是否有用于打包软件(包括共享库)的工具?现在了解一些细节:这是我的项目(为此我将其称为foo)布局:foo(二进制)配置文件数据现在在包中,将有两个额外的元素:图书馆foo.shlibs将包含项目所需的所有共享库,
自PythonDocs明确指出platform.linux_distribution()是:Deprecatedsinceversion3.5,willberemovedinversion3.7.通过Python检测Linux发行版的正确且面向future的方法是什么? 最佳答案 您可以使用distroproject:$pipinstalldistro$python>>>importdistro>>>distro.linux_distribution(full_distribution_name=False)('centos','7
自PythonDocs明确指出platform.linux_distribution()是:Deprecatedsinceversion3.5,willberemovedinversion3.7.通过Python检测Linux发行版的正确且面向future的方法是什么? 最佳答案 您可以使用distroproject:$pipinstalldistro$python>>>importdistro>>>distro.linux_distribution(full_distribution_name=False)('centos','7
有时我需要访问一些运行Linux的服务器(或者可能是另一个类Unix的SO),但我不知道如何验证哪个distribution在服务器上正在使用(有时连服务器的“负责人”都不知道)。是否有一种简单可靠的方法来发现这一点,并且在所有这些方法中都是统一且一致的? 最佳答案 lsb_release-i可能适合您。更多详细信息可通过lsb_release-a获得一些讨论在http://etbe.coker.com.au/2007/08/30/identifying-the-distribution-of-a-linux-system/