为什么linux不能同时支持不同的软件版本?

Why linux doesn't support different software versions at the same time?

我们可以使用任何编程语言,它有包管理器可以为program1[安装lib-v1 =24=] 和 lib-v2 用于 program2.

当新版本的 lib 在 linux 上发布时,您无法预测更新后哪些程序会损坏。提醒一下,linux在稳定性优先的服务器上很受欢迎。

例如,很多程序都被 openssh 的主要版本破坏了。

那么,为什么?每种编程语言都能提供这样的功能,而 linux 不能?

Why Linux doesn't support different software versions at the same time?

这不是真的。例如 NixOS and Guix 支持多个包版本。

如果你问为什么 Debian 或 RedHat 不支持多个软件版本,我会说这是因为它的遗留问题。在 Linux 时代初期,磁盘 space 很昂贵,因此共享库是减少所需 space 的方法。 Windows 也有同样的问题 DLL hell

Every programming language can afford such feature, and Linux can't?

这不是真的。例如在 java 中,您有 JAR hell 并且可以使用您的依赖项的唯一单一版本。我不确定您是否可以找到可以同时使用同一库的多个版本的语言。您可以这样做,但默认情况下不支持它。例如,在 Java 中,您可以将依赖项重新打包为不同的名称。