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

Mary-Kate Olsen
发布: 2024-10-24 08:11:30
原创
444 人浏览过

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中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!