在 Debian 和 Ubuntu 之间共享已安装的库

在 Debian 和 Ubuntu 之间共享已安装的库

我正在尝试对硬盘进行分区并安装 Ubuntu 和 Debian。因此,我不需要保留任何旧数据。将使用这两个操作系统的最新版本。

我想了解如何在 Ubuntu 中通过 apt 安装库、程序等,而不在 Debian 上重新安装,反之亦然。在这里,我假设适用于 Ubuntu 的任何东西都适用于 Debian,希望反之亦然。

我知道我可以共享 /home。但是,大多数库/程序都不在那里。我应该把 /usr 放在不同的分区上,然后在两个操作系统上都挂载 /usr 吗?或者我只需要挂载 /usr/local?或者有更好的方法吗?

答案1

或者有更好的方法吗?

  • 安装您使用的所有软件作为快照。
  • 将您使用的所有软件安装在名为 的分区中/opt/。这很可能是源安装 ( tar.gz)。

这两种安装方法可以在发行版之间共享。最后一种方法需要向 PATH 添加一些内容或将服务复制到主系统中。

您不能在两个不同的安装之间共享 /usr/ 或 /var/。但是您可以共享 /usr/local/。两个发行版可以具有不同版本的库,因此您可能需要在这两个系统之一上安装一些库。但是您节省的那几千字节不值得您为此花费的时间。此外,您很可能仍然会破坏这两个系统。

答案2

永远不会做混合了 Debian 和 Ubuntu 存储库、系统库、程序等。 这会严重破坏这两个系统。 (这也扩展到混合使用 Ubuntu 和非官方版本,如 Mint;虽然理论上你可以混合使用 Kubuntu 和 Ubuntu 16.04,但你只需要不应该并应保持其核心系统独立)。

Ubuntu 的发布周期比 Debian 快得多,更新的软件库也多得多。反之亦然 - Debian 没有更新的库,等等。

混合搭配将使系统爆炸。这就是为什么你不要彼此共享图书馆。

这样做会破坏两个系统。 不要尝试在两个系统之间共享库和程序。

虽然从技术上来说,你可以在不同版本和发行版之间共享用户主目录,你可能会在一个或多个操作系统上遇到奇怪的问题因为每个系统上的软件版本不同,配置版本也不同。

答案3

我想在现有答案中添加的另一点是关于aptdpkg,以及它们如何处理有关已安装软件的信息。

软件包,它是核心包管理应用程序,使用/var/lib/dpkg/status文件来存储和检索系统中安装的 Debian 包的信息。这非常具体地说明了您的运行情况。即使是单个条目也可能扰乱整个包管理。

举个例子,您在 Ubuntu 中3.18安装了 版本nautilus。然后,如果您共享此信息,Debian 将看到它有3.18nautilus,即使它实际上有3.16。这是一个非常简单的例子。但可能会更复杂。例如,Debian 可能会看到您安装了来自不存在存储库,并将尝试删除它们,反之亦然。

Rinzwind 的回答说明了解决常见应用程序问题的一种简单方法,即使用以 snap 或 flat-pak 包形式分发的独立应用程序。这些不是共享库,但如果您想要某种东西通用应用程序这可能会实现你的目标。

相关内容