我在 Ubuntu 中安装的程序可以在双引导设置中被另一个发行版使用吗?

我在 Ubuntu 中安装的程序可以在双引导设置中被另一个发行版使用吗?

我有兴趣设置我的机器,以便我可以尝试不同的 Linux 发行版。我想始终运行 Ubuntu (10.04.3),但随后会在双启动设置中尝试其他发行版。

由于文件层次结构相似,我想知道我安装的程序和 Ubuntu 中的设置是否可以在第二个/测试发行版上工作?


如果是这样,将每个文件挂载到单独的分区上是否有意义,/opt以便/usr /etc /var我可以将相同的文件挂载到第二个/测试发行版一侧的相应文件夹中?

尝试在两个系统中同时使用这些文件是否值得?或者在每个系统中更改设置并重新下载程序是否更容易?如果是,为什么?如果不是,为什么不呢?


我推测它将在很大程度上取决于发行版,因此如果是这种情况,请回答以下问题:

  • Linux 薄荷,和
  • 所有其他基于 Debian 的发行版。

(即,“这适用于所有基于 Debian 的系统吗?”——我并不是为每个系统寻找答案。)


OP更新:

  1. 建议将 /etc 移动到单独的分区是愚蠢的:根据Ubuntu文档,根分区必须始终包含/etc,否则无法启动。

答案1

您可以运行其他发行版的程序。然而,并非所有程序都能直接开箱即用。许多程序需要特定位置或搜索路径上的文件,您的主发行版可能不提供这些文件,或者可能以不合适的版本提供这些文件。例如,如果程序需要仅位于 中的特定库,则除非您告诉它位置 ( ),/otherdistribution/usr/lib否则它不会找到该库。LD_LIBRARY_PATH=/otherdistribution/usr/lib /otherdistribution/usr/bin/someprogram或者,如果程序正在 中查找其数据文件/usr/share/myprogram,您需要告诉它以/otherdistribution/usr/share/myprogram某种方式查找。

如果您想运行一个发行版并偶尔运行另一个发行版(或同一发行版的另一个版本,例如 Debian 稳定版和 Debian 测试版)中的程序,最简单的方法是通过访问其他发行版chroot。在基于 Debian 的发行版上做到这一点的最简单方法是通过施鲁特(你可能会发现 本指南用于设置 schroot有用)。

答案2

对于 /opt 来说这是有道理的,对于其他则没有意义。只需比较库版本和 /etc 目录的布局即可。

事实上,对于 /opt 我做了或多或少相同的事情。我的 /opt 目录经历了多次发行版升级和更改。尽管有时您可能需要摆弄。

答案3

这取决于应用程序、其链接方式(静态或动态)以及所有相关文件是否都放置在应用程序文件夹的范围内。

使用ldd应用程序的二进制文件/库来查看依赖关系。任何依赖项都不应显示为“缺失”。如果你有很多特定的依赖关系,生活就会变得更加困难。

相关内容