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


19

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

我试图了解如何在Ubuntu中通过apt安装库,程序等,而不是在Debian上重新安装,反之亦然。在这里,我假设所有适用于Ubuntu的东西都将适用于Debian,反之亦然。

我知道我可以共享/ home。但是,这不是大多数库/程序所在的地方。我应该将/ usr放在另一个分区上,然后在两个操作系统上都安装/ usr吗?或者也许我只需要挂载/ usr / local?还是有更好的方法呢?


11
您的假设是错误的。
安瓦尔

10
您的假设非常错误。
林茨温德(Rinzwind)

4
嗯,这个问题得不到投票使我感到困惑。这是一个充满希望和所有共享二进制文件的debian变体的乌托邦幻想的合理问题吗?(毕竟这是同一台具有相同架构的计算机)?
dev_nut

4
Upvote是我的。我认为这是一个合法的问题。并非每个人都具有丰富的经验。如果没有人问这些问题,我们到哪里去?
林茨温德'17

1
之所以提出投票,是因为这是一个合法的问题,而不是所有没有经验的问题。
乔斯(Jos)

Answers:


16

还是有更好的方法呢?

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

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

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


这个答案实际上试图给我一些解决方案。当您说我不应该共享/ usr时,即使使用相同的ubuntu版本也不应该这样做吗?
dev_nut

@dev_nut您不应/usr/*在两个系统之间共享;你可以分享/usr/local/*两人之间虽然你仍然可以运行的“本地”软件不是这两个版本在一定水平之间兼容的风险。(因此您的fstab规则将/usr/local/*在其他分区上挂载,然后在两个分区中共享)
Thomas Ward

1
@dev_nut的事情是。2个操作系统中的2个不同版本的软件将使其中一个崩溃。下一步:默认用户的设置之间可能会有区别,这会使事情变得混乱(用户位于/ etc / password中)具有相同UID和GUID的同一用户将是一个问题。
林茨温德'17

11

永远不会做的一件事就是混合使用Debian和Ubuntu存储库,系统库,程序等。 这将严重破坏两个系统。 (这还扩展到混合了Ubuntu和Mint之类的非官方版本;虽然理论上您可以混合使用Kubuntu和Ubuntu,例如16.04,但您不应该应该并且应该将其核心系统分开)。

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

混合和匹配将使系统爆炸。这就是为什么您互相共享库的原因。

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

从技术上讲,您可以跨发行版和发行版共享用户主目录,由于每个系统上软件的版本不同,因此在一个或多个OS上可能会有奇怪的问题


3

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

dpkg是核心软件包管理应用程序,它使用/var/lib/dpkg/status文件来存储和检索有关系统中安装的debian软件包的信息。这非常有关您的跑步情况。哪怕只有一个条目也可能使整个软件包管理变得混乱。

例如,您已经在Ubuntu中3.18安装了版本nautilus。然后,如果您共享此信息,则debian将看到它3.18用于nautilus,即使它实际上已经拥有了3.16。这是非常简单的示例。但是可能会有更多的复杂性。例如,debian可能会发现您没有充分的理由从不存在的存储库中安装了软件包,并且会尝试将其删除,反之亦然。

Rinzwind的答案说明了解决普通应用程序的一种简单方法,即使用以snap或flat-pak软件包分发的自包含应用程序。这些不是共享库,但是如果您想要某种可以满足您目标的通用应用程序

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.