当我尝试下载一些应用程序(例如 VLC)时,它会显示在下载选项中,各种操作系统,包括 Linux mint、Ubuntu 等。虽然 Linux mint 的内核来自 Ubuntu,但他们仍然为这两个发行版编译了应用程序。其他一些发行版的情况也是如此。
我知道会有 KABI 不兼容的情况,例如,如果我在 RedHat 中编译一个应用程序并尝试在 OpenSUSE 中运行它,就会出现内核 ABI 问题。但是,对于Ubuntu和Linux Mint来说,虽然基础内核是相同的,为什么需要重新编译呢?
是否存在任何用户空间依赖问题?如果是的话,有人可以详细解释一下吗?
答案1
我预计库符号会有所不同,即使您已经拥有看似相同的版本。作为一种折衷措施,寻找静态构建的二进制文件;那么你只需要担心无数的文件位置都正确,这样应用程序就会停止抱怨。
在很多很多情况下(如果不是全部的话),为应用程序所在的环境重建应用程序会更简单。你会得到一个更好的构建,它会运行得更好,而且你不会有巨大的意外风险。
我专门在企业领域工作,但即使对于家庭来说,为合适的环境构建它也是有意义的。修补很有趣,但这实际上比《疯狂科学》(《科学怪人》)的修补要少。
答案2
Linux Mint 有两种版本。
- 基于 Ubuntu
- 基于 Debian (LMDE)
基于 Ubuntu 的版本(默认版本)保证与 Ubuntu 软件包一起使用,并且 LMDE 保证与 Debian 存储库中的软件包兼容。
尽管 Debian 的大多数 deb 都可以在 Ubuntu 中运行,但由于 Debian 和 Ubuntu 之间的文件系统层次结构或某些专用库的变化,仍然存在一些不兼容的软件包。
为此,您为 mint 和 Ubuntu 找到了两个不同的 deb,以确保使用 LMDE mint 时不会遇到任何问题。