前提条件
- 拥有一个具有
sudo
权限的用户。 - 网络环境允许正常访问互联网,或者可以使用离线文件。
步骤 1:更新系统并安装依赖
-
更新系统:
sudo apt update && sudo apt upgrade -y
-
安装必要的依赖:
sudo apt install -y build-essential uuid-dev libseccomp-dev libgpgme-dev squashfs-tools \ libseccomp2 wget pkg-config git cryptsetup curl
步骤 2:安装 Go
Singularity 需要 Go 语言(版本 >= 1.18)。按照以下步骤安装:
方法 1:在线安装
- 下载 Go 的最新版本:
wget https://go.dev/dl/go1.20.7.linux-amd64.tar.gz
-
解压并安装:
sudo tar -C /usr/local -xzf go1.20.7.linux-amd64.tar.gz
-
配置环境变量:
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc source ~/.bashrc
方法 2:离线安装
如果无法通过 wget
下载,可从 Go 官网 在其他电脑上下载后,传输到目标机器进行解压安装。
步骤 3:下载并编译 Singularity
-
克隆 Singularity 的源码:
git clone https://github.com/apptainer/singularity.git cd singularity
-
检查和切换到最新稳定版本(以
v3.11.3
为例):git fetch --all --tags git checkout v3.11.3
-
配置构建环境:
./mconfig
-
编译和安装Singularity:
make -C builddir sudo make -C builddir install
步骤 4:验证安装
-
确认 Singularity 是否安装成功:
singularity --version #输出类似 singularity-ce version 3.11.3 表示安装成功。
-
运行一个简单命令测试功能:
singularity exec library://alpine cat /etc/os-release #如果输出 Alpine 容器的操作系统信息,说明 Singularity 工作正常。