修订版

22-Apr-2022 revision 1.

30-Jul-2022 revision 2.

前言

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

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

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

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

架构图(待补充)

以安装vim为例

在在线环境,直接执行

[tools_adm@internet-server-001 ~]$ spack install vim +gtk +gui +lua +perl +python +ruby +x +cscope

生成mirror,并在离线环境的安装步骤:

1. 在联网的服务器执行

[tools_adm@internet-server-001 ~]$ mkdir /tools/oss/spack-mirror/pkgs-mirror
[tools_adm@internet-server-001 ~]$ spack mirror create --directory /tools/oss/spack-mirror/pkgs-mirror --dependencies vim +gtk +gui +lua +perl +python +ruby +x +cscope

将vim的默认版本安装包,以及相应的依赖,全部mirror到 /tools/oss/spack-mirror/pkgs-mirror 文件夹下,如下图:

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

2.1 上传

将 /tools/oss/spack-mirror/pkgs-mirror 目录打包上传到离线的生产环境,同步到 /tools/oss/spack-mirror/pkgs-mirror 路径下。这个步骤,建议使用自动化的方式完成。

2.2 配置mirror

pack mirror add local_filesystem file:///tools/oss/spack-mirror/pkgs-mirror

或手动编辑 ~/.spack/mirrors.yaml 文件

mirrors:local_filesystem: /tools/oss/spack-mirror/pkgs-mirror

2.3 使用

[tools_adm@internal-server-001 ~]$ spack install vim +gtk +gui +lua +perl +python +ruby +x +cscope

根据终端刷的信息,可以看到本次安装使用的是本地mirror目录下的包了。

参考资料

Mirrors (mirrors.yaml) — Spack 0.19.0.dev0 documentation

使用spack mirror简化离线环境的包安装相关推荐

  1. ElasticSearch 5.5 离线环境的完整安装及配置详情,附kibana、ik插件配置及安装包下载路径...

    此文针对局域网环境(非公网环境),提供ElasticSearch 5.5.2的完整安装及配置教程,包括ES的kibana插件.IK中文分词插件安装及配置. 另外,文章提供安装配置环境涉及到的所有安装包 ...

  2. windows-server-2012R2离线中文语言包安装

    1.离线包下载地址http://download.csdn.net/detail/github_38358734/9858412 2.安装方法: 解压离线包 Dism /online /Add-Pac ...

  3. linuxpython安装hive_Linux离线环境安装Pyhive包及通用方式

    一.Linux离线安装GCC编译环境 安装之前要查看离线环境的Linux版本,因为下载文档需要Linux的版本对应 1 uname -a显示全部信息 显示版本号,该机版本为centos 6.6,属于6 ...

  4. openshift4离线部署_干货!OpenShift离线环境OperatorHub和ImageStream配置实战技巧

    OpenShift4.5.x离线环境OperatorHub和ImageStream配置实战技巧 1 . 前言 在离线环境使用UPI(UserProvisioned Infrastructure)方式安 ...

  5. Linux 中yumdownloader 和 repotrack:下载yum软件离线环境的rpm依赖包

    前提: 通常生产环境由于安全原因都无法访问互联网.此时就需要进行离线安装,主要有两种方式:源码编译.rpm包安装.源码编译耗费时间长且缺乏编译环境,所以一般都选择使用离线 rpm 包安装. 必须先下载 ...

  6. python pip下载本地依赖包,并在离线环境中安装,并解决报错ERROR: Could not find a version that satisfies the requirement报错

    文章目录 步骤1:导出依赖 步骤2:离线下载依赖包 步骤3:进入新环境使用python安装依赖 整体思路如下: 首先根据项目需要导出依赖包,由于本地的python环境中其实安装了很多乱七八糟的包,这些 ...

  7. Ambari在离线环境中安装Hadoop集群

    2019独角兽企业重金招聘Python工程师标准>>> http://www.hackbase.com/article-973-1.html (WJW)Ambari在离线环境中安装H ...

  8. 在离线环境中安装Visual Stuido 2017

    在离线环境中安装Visual Stuido 2017 0x00 写在前面的废话 因为工作上大多数都是在离线环境中进行的,进出离线环境很麻烦,所以之前很长一段时间都在使用VS2010.后来尝试换了VS2 ...

  9. python离线包安装_python 通过pip freeze、dowload打离线包及自动安装的过程详解(适用于保密的离线环境...

    python的pip是其包管理工具,相当方便好用.本文只介绍pip 如何通过其freeze命令打离线包,及其离线包的安装脚本.这个知识点,特别适用于不适合连通互联网,设备需要物理隔绝,保密要求严格的客 ...

  10. 使用KubeKey 离线环境部署 KubeSphere v3.0.0

    使用KubeKey 离线环境部署 KubeSphere v3.0.0 环境准备 以三台centos 7.7 64bit 为例: name ip role node1 192.168.6.17 etcd ...

最新文章

  1. 皮一皮:我真的没买这么多...
  2. 关于如何评价洗牌质量的猜想
  3. EfficientDet解读
  4. [BZOJ 5074] 小B的数字
  5. php 微商城 开源,微商城开通为什么选php开源网店系统
  6. 【机房收费系统】---如何引用Microsoft Excel xx.0 Object Library
  7. 部分网站为什么上不去_天机SEO:分析网站收录与排名的重要因素
  8. OSPF配置命令总结
  9. 设有单总线结构计算机的cpu数据通路,中央处理器——数据通路之单总线结构
  10. Visual C++ 6.0(完整绿色版)安装及Visual Assist X(西红柿插件、番茄插件)
  11. java对接dhl_DHL接口—数据交互
  12. (2)香橙派+apache2与php+天猫精灵=自建平台语音支持--香橙派操作系统安装
  13. Redis源码解读(二十一)——命令传播
  14. 大数据分析师技能图谱详解
  15. 树莓派监测CPU温度
  16. java常见面试题总结2
  17. 小程序-----小白入门
  18. keras使用load_weights遇到报错
  19. 周金涛:繁荣的起点并非沸腾的年代,或将在2020年出现首次证券市场大繁荣
  20. ios修改根视图控制器

热门文章

  1. spss可以关键词词频分析吗_词频分析及常用工具比较研究.pdf
  2. Java面向对象编程之三大特性
  3. 串口监听器使用说明书
  4. 【MODIS数据的下载】
  5. java 导出Excel 转图片地址为图片
  6. (音视频学习笔记):ffplay命令选项及使用案例
  7. esp8266开发入门教程(基于Arduino)——编程基础介绍
  8. 南方cass快捷键命令修改在哪_南方测绘cass快捷键命令大全,南方测绘cass常用的快捷键命令有哪些?...
  9. 开源成语答题小程序红包设置教程
  10. 用ps制作LOGO(个人向)