为什么我们不能在 Linux mint 或具有相同内核的其他发行版上安装为 Ubuntu 编译的应用程序?

为什么我们不能在 Linux mint 或具有相同内核的其他发行版上安装为 Ubuntu 编译的应用程序?

当我尝试下载一些应用程序(例如 VLC)时,它会显示在下载选项中,各种操作系统,包括 Linux mint、Ubuntu 等。虽然 Linux mint 的内核来自 Ubuntu,但他们仍然为这两个发行版编译了应用程序。其他一些发行版的情况也是如此。

我知道会有 KABI 不兼容的情况,例如,如果我在 RedHat 中编译一个应用程序并尝试在 OpenSUSE 中运行它,就会出现内核 ABI 问题。但是,对于Ubuntu和Linux Mint来说,虽然基础内核是相同的,为什么需要重新编译呢?

是否存在任何用户空间依赖问题?如果是的话,有人可以详细解释一下吗?

答案1

我预计库符号会有所不同,即使您已经拥有看似相同的版本。作为一种折衷措施,寻找静态构建的二进制文件;那么你只需要担心无数的文件位置都正确,这样应用程序就会停止抱怨。

在很多很多情况下(如果不是全部的话),为应用程序所在的环境重建应用程序会更简单。你会得到一个更好的构建,它会运行得更好,而且你不会有巨大的意外风险。

我专门在企业领域工作,但即使对于家庭来说,为合适的环境构建它也是有意义的。修补很有趣,但这实际上比《疯狂科学》(《科学怪人》)的修补要少。

答案2

Linux Mint 有两种版本。

  1. 基于 Ubuntu
  2. 基于 Debian (LMDE)

基于 Ubuntu 的版本(默认版本)保证与 Ubuntu 软件包一起使用,并且 LMDE 保证与 Debian 存储库中的软件包兼容。

尽管 Debian 的大多数 deb 都可以在 Ubuntu 中运行,但由于 Debian 和 Ubuntu 之间的文件系统层次结构或某些专用库的变化,仍然存在一些不兼容的软件包。

为此,您为 mint 和 Ubuntu 找到了两个不同的 deb,以确保使用 LMDE mint 时不会遇到任何问题。

相关内容