Ubuntu 22.04.3 LTS中安装singularity

2023-11-07 20:12

本文主要是介绍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

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的支持

这篇关于Ubuntu 22.04.3 LTS中安装singularity的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/366017

相关文章

win10安装及配置Gradle全过程

《win10安装及配置Gradle全过程》本文详细介绍了Gradle的下载、安装、环境变量配置以及如何修改本地仓库位置,通过这些步骤,用户可以成功安装并配置Gradle,以便进行项目构建... 目录一、Gradle下载1.1、Gradle下载地址1.2、Gradle下载步骤二、Gradle安装步骤2.1、安

在Ubuntu上打不开GitHub的完整解决方法

《在Ubuntu上打不开GitHub的完整解决方法》当你满心欢喜打开Ubuntu准备推送代码时,突然发现终端里的gitpush卡成狗,浏览器里的GitHub页面直接变成Whoathere!警告页面... 目录一、那些年我们遇到的"红色惊叹号"二、三大症状快速诊断症状1:浏览器直接无法访问症状2:终端操作异常

python依赖管理工具UV的安装和使用教程

《python依赖管理工具UV的安装和使用教程》UV是一个用Rust编写的Python包安装和依赖管理工具,比传统工具(如pip)有着更快、更高效的体验,:本文主要介绍python依赖管理工具UV... 目录前言一、命令安装uv二、手动编译安装2.1在archlinux安装uv的依赖工具2.2从github

Ubuntu向多台主机批量传输文件的流程步骤

《Ubuntu向多台主机批量传输文件的流程步骤》:本文主要介绍在Ubuntu中批量传输文件到多台主机的方法,需确保主机互通、用户名密码统一及端口开放,通过安装sshpass工具,准备包含目标主机信... 目录Ubuntu 向多台主机批量传输文件1.安装 sshpass2.准备主机列表文件3.创建一个批处理脚

JDK8(Java Development kit)的安装与配置全过程

《JDK8(JavaDevelopmentkit)的安装与配置全过程》文章简要介绍了Java的核心特点(如跨平台、JVM机制)及JDK/JRE的区别,重点讲解了如何通过配置环境变量(PATH和JA... 目录Java特点JDKJREJDK的下载,安装配置环境变量总结Java特点说起 Java,大家肯定都

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

Ubuntu如何升级Python版本

《Ubuntu如何升级Python版本》Ubuntu22.04Docker中,安装Python3.11后,使用update-alternatives设置为默认版本,最后用python3-V验证... 目China编程录问题描述前提环境解决方法总结问题描述Ubuntu22.04系统自带python3.10,想升级

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Python库 Django 的简介、安装、用法入门教程

《Python库Django的简介、安装、用法入门教程》Django是Python最流行的Web框架之一,它帮助开发者快速、高效地构建功能强大的Web应用程序,接下来我们将从简介、安装到用法详解,... 目录一、Django 简介 二、Django 的安装教程 1. 创建虚拟环境2. 安装Django三、创

linux安装、更新、卸载anaconda实践

《linux安装、更新、卸载anaconda实践》Anaconda是基于conda的科学计算环境,集成1400+包及依赖,安装需下载脚本、接受协议、设置路径、配置环境变量,更新与卸载通过conda命令... 目录随意找一个目录下载安装脚本检查许可证协议,ENTER就可以安装完毕之后激活anaconda安装更