使用spack mirror简化离线环境的包安装

22-Apr-2022

众所周知,研发架构是企业的安全与效率需经权衡后的结果。大多数企业的研发环境并不能连接互联网,这也就意味着不能很好地(至少是第一时间)使用各种开源工具。

在Linux环境下使用开源工具,除了要安装该工具本身,也可能涉及到非常复杂的依赖链。显然,使用trial-and-error的方式进行安装,已不太现实。笔者曾在海思HPC环境,为海外同事安装一个开源工具环境,手动花了两周(到拖拖拖一两个月)时间,因受困于复杂的依赖链关系,最终以失败告终,告诉用户你这需求解决不了。

痛定思痛,2019年我开始找自动化安装解决方案。spack与easybuild浮出水面。在这方面,原来全球的超算同行已经走在很前面。

本文就spack mirror展开探讨,解释它如何能为芯片研发HPC环境自动化安装正确的包,同时能节省管理员的安装时间,节省用户的使用时间。

架构图(待补充)

步骤:

1. 在联网的服务器执行

spack mirror create -all #将所有包mirror下来,慎用,很大。

spack find -p | awk ‘{print $1}’ > specs.txt && spack mirror create -f specs.txt #将所有已安装的包版本以及依赖,将它们的安装包全部mirror下来

2. 然后传到离线的生产服务器

配置好mirror文件夹路径

soack install <package>@<version> #安装

猜你喜欢

转载自blog.csdn.net/thesre/article/details/124893676