当前位置:首页>Linux>Singularity安装(Linux系统)

Singularity安装(Linux系统)

  • 2026-10-01 23:54:49
Singularity安装(Linux系统)

微信公众号:孟德尔的豆子
关注可了解更多的知识分享。
问题交流请留言或私信。
如果对您有帮助,欢迎打赏。

在生物信息学领域,数据处理和分析任务日益复杂,对计算资源的需求也越来越高。为了提高研究效率、确保环境一致性和可重复性,容器技术应运而生。Docker和Singularity作为两种主流的容器解决方案,在生信领域得到了广泛应用。本文将简单介绍Singularity的安装过程。

安装singularity 需要联网,安装过程中需要下载文件

1.安装依赖

注意:需要root权限

Ubuntu系统:
apt-get update
#--------------------
apt-get install -y \
build-essential \
uuid-dev \
libgpgme-dev \
squashfs-tools \
libseccomp-dev \
wget \
pkg-config \
git \
cryptsetup-bin
Centos系统:
yum groupinstall -y 'Development Tools'
#--------------------------------------
yum install -y epel-release
#--------------------------------------
yum install -y \
libseccomp-devel \
squashfs-tools \
cryptsetup \
wget git

2.安装 GO 语言

singularity使用Go编写,需要先安装Go语言环境。

在 go官网:https://golang.org/dl/ 下载合适版本的Go至~(用户家目录下)。并添加到环境变量中。

mkdir singularity
cd singularity
wget -c https://go.dev/dl/go1.20.linux-amd64.tar.gz
#-----------------------------------------------------
tar -C ~ -xzf go1.20.linux-amd64.tar.gz
#-----------------------------------------------------
vi ~/.bashrc
# 添加go路径:
export PATH=$PATH:~/go/bin/
# 更新
source ~/.bashrc
#-----------------------------------------------------
# 测试go版本:
go version

备注:singularity3.0以上的版本需要下载Go 1.13以上的版本。比如本教程下载了go1.20.linux-amd64.tar.gz版本。

3.安装singularity

官网下载地址:https://github.com/hpcng/singularity/releases

wget -c https://github.com/apptainer/singularity/releases/download/v3.8.7/singularity-3.8.7.tar.gz

tar -zxvf singularity-3.8.7.tar.gz
#-----------------------------------------------
# 编译与安装
# 步骤1
cd singularity-3.8.7/
./mconfig  
#配置安装路径,默认当前路径
# 步骤2
cd singularity-3.8.7/builddir/
make     #编译
make install #安装(root权限)
----------------------------------------------
# 测试singularity是否成功安装
singularity --version

备注:

  • singularity实际路径: builddir/singularity

  • ./mconfig --prefix=/opt/singularity 也可以安装到指定目录下,建议选一个空间足够大的目录

  • 编译和安装需要时间较长,请耐心等待。

其他

补充1

明明能运行go,但是依然报错:checking: host Go compiler (at least version 1.16.12)... not found!

go和singularity版本不对应,测试go1.20.5.linux-amd64.tar.gz 和 singularity-3.8.7.tar.gz 是OK的。

补充2

从Docker Hub:https://hub-stage.docker.com/ 直接拉取现成软件镜像到本地

singularity pull qiime2.sif docker://qiime2/core
补充3

exec参数使用

singularity exec -e -B /data:/data
# 使用-e参数去除环境变量,特别是宿主机的PATH变量。
# 使用-B参数添加宿主机的数据目录到容器中。建议整个常见目录,例如:"/data"。
# :前的是宿主机路径,:后的是容器内路径,嫌麻烦可以前后保持一致。

github网址:https://github.com/apptainer/singularity/

关注公众号 孟德尔的豆子 立即查看往期精彩好文。

最新文章

随机文章