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

时间:2019-01-18 11:43:52

标签: linux packaging

我们可以采用任何编程语言,它具有程序包管理器,可以为 program1 lib-v2安装 lib-v1 用于 program2

在Linux上发布新版本的lib时,您无法预测更新后哪些程序将中断。让我提醒一下,Linux在稳定度最高的服务器上很流行。

例如,许多程序被opensh的主要发行版本破坏。

那为什么呢?每种编程语言都可以负担得起这样的功能,而Linux却负担不起?

1 个答案:

答案 0 :(得分:1)

  

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

这不是事实。例如NixOSGuix支持多个软件包版本。

如果您问为什么Debian或RedHat不支持多种软件版本,那么我想说这是因为它的传统。在Linux时代的早期,磁盘空间非常昂贵,因此共享库是减少所需空间的方法。 Windows也有同样的问题,DLL hell

  

每种编程语言都能负担得起这样的功能,而Linux却负担不起?

这不是事实。例如,在Java中,您拥有JAR hell,并且可以使用依赖项的唯一单一版本。我不确定是否可以找到可以同时使用同一库的多个版本的语言。您可以执行此操作,但是默认情况下不支持。例如,在Java中,您可以将依赖项重新打包为其他名称。