简单来讲,Singularity是一种可以跨平台执行的小型虚拟机。在数据分析时,首先往往要搭建运行环境,比如R,python等。为了保证结果的可靠性,通常要保证跨设备环境的一致性。但是在跨运算设备之间搭建相同的环境是一项比较麻烦的事情。因此,如果只搭建一次环境,就可以在各个设备上使用,就比较轻松了。Singularity和Docker就提供了这样的功能。笔者在这里使用Singularity1,版本为2.4.6。
安装依赖库#
Ubuntu#
sudo apt-get update
sudo apt-get install python dh-autoreconf build-essential libarchive-devCentOS#
sudo yum update
sudo yum groupinstall 'Development Tools'
sudo yum install libarchive-devel编译安装#
VER=2.4.6
wget https://github.com/singularityware/singularity/releases/download/$VER/singularity-$VER.tar.gz
tar xvf singularity-$VER.tar.gz
cd singularity-$VER
./autogen.sh
./configure --prefix="/usr/local/singularity-${VER}"
make
sudo make install将**/usr/local/singularity-2.4.6/bin添加进$PATH**并重新加载配置文件。
echo "export $PATH=/usr/local/singularity-2.4.6/bin:$PATH" > ~/.bashrc
source ~/.bashrc
图1. 显示singularity版本
