当前位置: 首页 > news >正文

Ubuntu 22.04.3 LTS中安装singularity

文章目录

    • 概要
    • 背景知识
      • 什么是singularity ?
    • 安装流程
      • 1. 安装Go
      • 2. 下载Singularity
      • 3. 编译Singularity源代码
    • 4. 验证安装是否成功
    • singularity的使用
      • 安装open structure
    • 小结

概要

这里主要记录singularity的安装和使用,安装过程中会出现相关的错误,所以目前主要是进行记录。

背景知识

什么是singularity ?

以下这篇blog介绍了singularity容器。
浅谈Singularity容器

安装流程

安装流程看了很多文章,但是主要是针对从下面的文章进行实践,其中也遇到了很多问题,并进行了解释。
在Linux系统下安装部署Singularity容器

Singularity容器的安装大致分为以下三个步骤:

  • 安装Go
  • 下载Singularity
  • 编译Singularity源代码

1. 安装Go

Singularity v3 及以上版本主要用 Go语言 编写,所以需要安装Go才能进行源代码编译。目前可以查看官网链接,一般官网上展示的是最新版。

这里使用go1.21.3.linux-amd64.tar.gz
下载完成后解压到目标目录下,并设置相应的环境变量。

tar -xzvf go1.21.3.linux-amd64.tar.gz

将环境变量设置为指向Go:PATH

echo 'export PATH=<PATH to go>/go/bin:$PATH' >> ~/.bashrc &&\
source ~/.bashrc

注意:如果之前系统中已经下载安装过go程序,需要将之前的删除或替换

go rm -r <PATH to go>/go

2. 下载Singularity

从官网中下载任意一个版本Singularity,请查看Github的发布列表

"/>

因为我安装的ubuntu的系统是Ubuntu 22.04,其实更偏向于Ubuntu 22.04 (jammy),但是不太懂,所以我没有试过这种,直接下载的就是singularity-ce-4.0.1.tar.gz,也成功了。
也可以下载其他版本

3. 编译Singularity源代码

现在你已经准备好构建Singularity了。依赖项将自动下载。您可以使用以下命令构建Singularity:

# 解压
tar -xvzf singularity-ce-4.0.1.tar.gz
# 进入singularity目录下
cd singularity
# 构建Singularity
./mconfig

当执行上述命令后,可能会遇到下面情况
./mconfig出现下面错误:seccomp headers are required to build singularity with seccomp support

这个错误消息表明在构建Singularity时需要安装seccomp(安全计算)的头文件以启用seccomp支持。Seccomp是一个Linux内核的安全功能,可以用来限制进程对系统调用的访问,提高应用程序的安全性。
要解决这个问题,你可以按照以下步骤来安装seccomp的头文件:sudo apt-get install libseccomp-dev

重新运行./mconfig后出现新的错误:glib-2.0 header are required to build conmon

这个错误消息表明在构建 conmon 时需要安装 glib-2.0 的头文件。glib-2.0 是一个常见的C语言库,用于开发Linux应用程序,它提供了许多常用的功能和数据结构。
要解决这个问题,你可以按照以下步骤来安装 glib-2.0 的头文件:安装 glib-2.0 头文件:你需要使用包管理器来安装 glib-2.0 的头文件。sudo apt-get install libglib2.0-dev

重新运行./mconfig后出现新的错误:fuse/fuse3(libfuse/fuse3)header are required to build squashfuse

这个错误消息表明在构建 squashfuse 时需要安装 libfuse 或 libfuse3 的头文件,这是FUSE(Filesystem in Userspace)的库,用于支持用户空间文件系统的开发。要解决这个问题,你需要根据你的系统使用的FUSE版本来安装相应的头文件。
1。 安装 libfuse 头文件:
sudo apt-get install libfuse-dev2。 安装 libfuse3 头文件:
sudo apt-get install libfuse3-dev

再次运行mconfig就不再出现错误,会在当前builddir文件夹下出现makefile文件,之后继续singularity的编译

make -C builddir && \
sudo make -C builddir install

需要注意的是Singularity需要在root用户下安装才能正常运行。

4. 验证安装是否成功

任何路径下直接:

singularity --version

如果return 相关的version,则表明成功安装

查看具体的脚本,可以输入

singularity -h

<img src="

singularity的使用

Singularity容器常用命令

安装open structure

详细的安装说明

sudo singularity build ost.img Singularity

note: 安装时间很长,请确定网络良好

使用:

singularity run --app OST ost.img -h

比较refernece structure and predicted structure to obtain lddt:

singularity run --app OST ost.img compare-structures --model predicted.pdb --reference solution.pdb --output output.json --lddt

小结

感谢上述各种blog的支持

http://www.lryc.cn/news/222114.html

相关文章:

  • NVM安装node后提示没有对应npm包(即:无法将“npm”项识别为 cmdlet、函数、脚本文件)
  • 路由器基础(十一):ACL 配置
  • 【今日文章】:如何用css 实现星空效果
  • HackTheBox-Starting Point--Tier 1---Three
  • Linux Alsa声卡驱动(2):Machine驱动
  • 某综合性能源集团绩效考核设计项目纪实
  • ubuntu18.04 通过创建服务实现开机自启, 启动指定脚本
  • Tomcat 9.0.x 源码编译
  • 基于SSM的旅游管理系统的设计与实现
  • 多目标优化中的“latent action”是什么?
  • 上海亚商投顾:三大指数小幅下跌 CPO、算力板块集体爆发
  • 【C语法学习】19 -关闭和刷新文件
  • 制作吉他谱软件Guitar Pro8中文版本
  • SpringBoot整合JUnit
  • 华为取消6000万订单影响在扩大,高通嘴硬强调不受影响
  • 培训心得怎么写?CHAT帮你解决问题
  • AJAX-解决回调函数地狱问题
  • 【Mac开发环境搭建】JDK安装、多JDK安装与切换
  • C,C++,JAVA的区别与联系
  • 界面控件DevExpress WPF PDF Viewer,更快实现应用的PDF文档浏览
  • nanodet训练自己的数据集、NCNN部署到Android
  • 含泪整理的超全窗口函数:数据开发必备
  • CCF ChinaSoft 2023 论坛巡礼 | NASAC青年软件创新奖论坛
  • ES 未分片 导致集群状态飘红
  • Python - 面向现实世界的人脸复原 GFP-GAN 简介与使用
  • Xcode15 framework ‘CoreAudioTypes‘ not found
  • torch.cuda.is_available()=false的原因
  • asp.net docker-compose添加网关和网关配置
  • 论文阅读:LOGO-Former: Local-Global Spatio-Temporal Transformer for DFER(ICASSP2023)
  • 【GO】项目import第三方的依赖包