在 "all" Linux 发行版上创建 运行 的二进制文件

Create binaries that run on "all" Linux distrubtion

我知道这个问题可能被问过一百万次,但是 none 的问题有实际应用方法的答案,没有人能解释我要展示的内容。

所以,问题来了:有许多软件供应商提供适用于所有 Linux 发行版的单一软件包,当我说全部时,我的意思是至少是主要的(Debian、Redhat 和拱)。我试过了,它们都有效。

我的问题是:他们是怎么做到的?

我所知道的:我知道关于二进制不兼容的旧消息。请不要重复那个讲座。任何想从这个问题及其答案中获益的人,如果您从未听说过它,请阅读更多关于 Linux 发行版的二进制不兼容的信息。我问这个问题的原因是因为我们有一个实际应用程序忽略了这种不兼容性并且适用于几乎所有发行版。这是怎么回事?

我也知道 "rumor" 叫 LSB。我称之为谣言的原因是,我从未在任何地方看到过这种东西的单一应用,如果这是那些供应商的方式,请在答案中解释如何。

(几乎)随处可用的软件示例:

(欢迎补充)

这是怎么回事?我如何才能为我自己的应用程序实现这一点?

一个令人满意的答案 将提供一种机制(最好有一个小例子),其中可以 select 几个 Linux 发行版(比如 Debian , CentOS 和 OpenSUSE), 并有创建一个包的秘诀 works/installs 所有这些。

非常感谢您的努力。

您所指的包...“.运行”或“.sh”只是脚本。由于人们倾向于 'just get the installation started' 并且可能会点击错误的包,因此 shell 脚本可以检测哪个包是合适的,下载并安装它。

或者甚至可能下载并构建源..​​.在某种程度上取决于包的项目和目标。

您是否考虑过使用 appimage 或 flatpak 打包您的应用程序?

http://appimage.org/

http://flatpak.org/

这些是您可以创建开箱即用的应用程序的一些方法。我已经使用了一些以这种方式打包的应用程序,它们在 ubunut、fedora 和其他 linux 发行版中开箱即用。