はじめに
Singularityとは何か?は前回のまとめで大体イメージができたかと思いますので実際にインストールしてみたいと思います。
SingularityCEをネイティブに動作させるにはLinuxシステムが必要です。また、Linux, Windows, Macそれぞれインストール方法が違うため順にまとめていきます。
インストール方法-共通
Singularityのインストール手順は主に3つです。
1. Go
をインストールする
2. Singularityをダウンロードする
3. Singularityのソースコードをコンパイルする
※Singularity v3以上は主にGo
で書かれているため、ソースからコンパイルするにはGoが必要です。Go
の最新バージョンをインストールする場合は、sudo rm -r /usr/local/go
で古いgo
ディレクトリを削除する必要があります(違う場所にgoをインストールしている場合は適切なpathに変更してください)。既存の ディレクトリ上に新しいバージョンを展開すると、ビルドするときにエラーが発生する可能性があります。
また、最新バージョンのsingularityをインストールする場合も、古いバージョンはアンインストールする必要があります。削除は以下のコマンドで行えます。
$ sudo rm -rf \ /usr/local/libexec/singularity \ /usr/local/var/singularity \ /usr/local/etc/singularity \ /usr/local/bin/singularity \ /usr/local/bin/run-singularity \ /usr/local/etc/bash_completion.d/singularity
Ubuntuにインストールする方法
・初めに必要なツールをインストールします。
$ sudo apt-get update $ sudo apt-get install -y \ autoconf \ automake \ cryptsetup \ git \ libfuse-dev \ libglib2.0-dev \ libseccomp-dev \ libtool \ pkg-config \ runc \ squashfs-tools \ squashfs-tools-ng \ uidmap \ wget \ zlib1g-dev
・次に最新バージョンのGo
をインストールして$PATH
をセットします。
最新のバージョンはhttps://go.dev/dl/で確認して、VERSION=XXX
の部分を変更してください。
#インストール $ export VERSION=1.21.5 OS=linux ARCH=amd64 wget -O /tmp/go${VERSION}.${OS}-${ARCH}.tar.gz \ https://dl.google.com/go/go${VERSION}.${OS}-${ARCH}.tar.gz sudo tar -C /usr/local -xzf /tmp/go${VERSION}.${OS}-${ARCH}.tar.gz sudo rm /tmp/go${VERSION}.${OS}-${ARCH}.tar.gz #PATHの設定 $ echo 'export PATH=/usr/local/go/bin:$PATH' >> ~/.bashrc && \ source ~/.bashrc #バージョンの確認 $ go version
・次にSingularityCEをダウンロードします。
今回はなるべく最新バージョンをインストールするためにGitHubのRepositoryからダウンロードする方法で行います。git
が使用できない場合は、以下のコマンドでインストールしてください。
$ sudo apt-get install git-all
・最新版のsingularity repositoryのclone (versionはhttps://github.com/sylabs/singularityで確認してください) 以下のコマンドではGitHubのmain branchがcloneされます。
$ git clone --recurse-submodules https://github.com/sylabs/singularity.git $ cd singularity
・今回 (2023/12/18時点) はv4.0.2なので以下のコマンドで確認可能できます。
$ git checkout --recurse-submodules v4.0.2
・最後にsingularityのコンパイルを行って完了です。
$ ./mconfig make -C builddir sudo make -C builddir install
完了したらsingularity
が使用できるようになっていると思います。
以下でバージョンを確認してみてください。
$ singularity --version
Windowsにインストールする方法
この場合は何通りか方法があります。
1) Windows内にUbuntuをインストールする
2) Git for Windowsを用いる
3) VirtualBox, Vagrant, Vagrant Manager for Windowsを用いる
私自身はWindows内にUbuntuをインストールする方法を用いました。Ubuntuさえインストールできれば上述のコマンドがそのまま使用できます。後の解析を考えると恐らくこれが一番楽です。
Macにインストールする方法
・SingularityCEはVagrantで利用することができます。インストールしていなければHomebrew
とともにインストールします。
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" $ brew install --cask virtualbox vagrant vagrant-manager
※Homebrew
はApple(またはLinux)が提供していない必要なものをインストールすることができるもので、/Homebrew
にパッケージをインストールし、それらへのシンボリックリンクを/usr/localに作成するらしい...詳しくは下記参照
・インストールが完了したらTerminalを起動しVagrant VM で使用するディレクトリを作成します.
$ mkdir vm-singularity-ce && \ cd vm-singularity-ce
すでに/vm-singularity-ce
を別のVMに作成して使用している場合は、VMを破棄してVagrantfileを削除する必要があります。
$ vagrant destroy && \ rm Vagrantfile
・最後にVirtual Machineを立ち上げればsingularityが使用できるはずです。(必要に応じて、$VM
に別の値を代入してください)。
$ export VM=sylabs/singularity-ce-3.8-ubuntu-bionic64 && \ vagrant init $VM && \ vagrant up && \ vagrant ssh
以下のコマンドで使用できるか確認してみてください。
vagrant@vagrant:~$ singularity version
インストール方法をまとまてみましたが無事インストールできましたか?問題や解決方法があった場合は教えて頂けるとありがたいです。