为什么在本地安装包而不是集中链接?
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中文网其他相关文章!