linux 二进制文件是否适用于各种发行版?

pro*_*eek 15 binary

我碰巧在 Linux 上安装了 Model sim VHDL 模拟器。手册说它只支持 RedHat 或 Suse,但我只是尝试在 Ubuntu 上安装它。而且,我可以毫无问题地安装它。

在此处输入图片说明

  • linux 二进制文件是否适用于各种发行版?我的意思是,如果我在发行版 A 上制作一个程序,我能确定它可以在任何 linux 上运行吗?
  • 为什么大多数商业程序供应商都说该程序在特定发行版上运行?(主要是 Redhat 和 Suse,而不是 ubuntu)

j-g*_*tus 15

这是两个问题:

Linux 二进制文件是否适用于所有发行版?

这取决于:

  • 如果程序在 Linux 内核之外没有使用任何东西,那么除了 32 位或 64 位问题之外,它将是通用的。Linux“hello world”(一个简单的程序,只是将“hello world”打印到终端窗口)可能独立于发行版。
  • 如果程序使用任何非内核库或服务(这是大多数 Linux,内核相当小),则在包含哪些库、这些库是哪个版本以及它们位于何处方面存在差异。所以在这种(最常见的)情况下,分布是不相等的。

为什么许多商业程序说它们只适用于一种或几种发行版?

因为有大量的 Linux 发行版,没有人愿意在所有发行版上测试他们的程序。

商业供应商通常会说他们只支持他们测试过他们的软件的发行版。它可能适用于其他发行版,也可能不起作用,从供应商的角度来看,关键是如果它不适用于他们不支持的发行版,你就不能抱怨。

选择哪些发行版进行测试取决于供应商希望他们的客户使用什么。商业/专业程序通常选择企业发行版,可能是通过类似于“为操作系统付费的人更有可能为我们的软件付费”的推理,可能只是通过计算现有客户使用的发行版。

另请参阅 Mark Shuttleworth(首先是我们拥有 Ubuntu 的原因)关于Ubuntu 和 Debian 之间的二进制兼容性- Debian 是与Ubuntu最接近的发行版。