首页  >  文章  >  后端开发  >  为什么软件包在本地安装而不是集中链接?

为什么软件包在本地安装而不是集中链接?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-10-24 08:11:30440浏览

Why Are Packages Installed Locally Instead of Linked Centrally?

为什么在本地安装包而不是集中链接?

Conda 和其他包管理器通常在隔离环境中安装包。用户可能想知道为什么包不简单地链接到一个中心位置,因为 conda 缓存了下载的包。

Conda 的硬链接机制

事实上,conda 已经使用了这个战略。 Conda 软件包安装在硬链接目录中,这意味着多个目录似乎包含软件包的唯一副本,但实际上共享相同的基础数据。

节省空间

A常见的误解是每个环境都会占用大量空间。然而,由于硬链接机制,实际的磁盘使用量比看起来要低得多。为了进行演示,我们可以使用 du 命令来检查未更正的(每个环境)和更正的(硬链接)空间使用情况:

# Uncorrected
$ for d in envs/*; do du -sh $d; done

# Corrected
$ du -sh envs/*

输出显示大部分空间已被节省。

共享包

大多数硬链接都指向存储共享包的 pkgs 目录。这种共享位置减少了重复并最大限度地减少了各个环境的大小。将 pkgs 目录包含在分析中,可以看出环境本身相对较小:

$ du -sh pkgs envs/*

结论

Conda 的硬链接机制有效减少了包和包占用的磁盘空间。环境。虽然隔离安装方法乍一看可能效率低下,但它在幕后提供了显着的节省空间的好处。

以上是为什么软件包在本地安装而不是集中链接?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn