【初心者向け】基礎&実践プログラミング

初心者がつまづきやすいところ、最短で実力が身につく方法をお伝えします。

Singularityのインストール (Ubuntu 18.04 LTS)

f:id:AIProgrammer:20200418171826p:plain

目的

SingularityをUbuntu 18.04 LTSにインストールする。 詳しくはSingularity HPをご覧ください。

作業環境

$ cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.3 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.3 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

Singularityのインストール手順

  1. 必要なパッケージのインストール
  2. Goのインストール
  3. Singularityのインストール
  4. Singularityソースコードのコンパイル

1. 必要なパッケージのインストール

$ sudo apt-get update && sudo apt-get install -y \
    build-essential \
    libssl-dev \
    uuid-dev \
    libgpgme11-dev \
    squashfs-tools \
    libseccomp-dev \
    wget \
    pkg-config \
    git \
    cryptsetup

2. Goのインストール

/usr/localにGoをインストールします。

$ export VERSION=1.12 OS=linux ARCH=amd64 && \  # Replace the values as needed
  wget https://dl.google.com/go/go$VERSION.$OS-$ARCH.tar.gz && \ # Downloads the required Go package
  sudo tar -C /usr/local -xzvf go$VERSION.$OS-$ARCH.tar.gz && \ # Extracts the archive
  rm go$VERSION.$OS-$ARCH.tar.gz    # Deletes the ``tar`` file

Goのインストールが完了したら、GoのPATHを通します。

$ echo 'export PATH=/usr/local/go/bin:$PATH' >> ~/.bashrc && \
  source ~/.bashrc

3. Singularityのインストール

GitHubからSingularityを~/Documents/git/singularityにインストールします。

$ mkdir -p ~/Documents/git/singularity
$ export VERSION=3.4.0 && # adjust this as necessary \
    wget https://github.com/sylabs/singularity/releases/download/v${VERSION}/singularity-${VERSION}.tar.gz && \
    tar -xzf singularity-${VERSION}.tar.gz && \
    cd singularity

4. Singularityソースコードのコンパイル

Singularityのインストールが完了したらソースコードをコンパイルします。

$ ./mconfig && \
    make -C builddir && \
    sudo make -C builddir install

インストールが正常に出来たか確認

singularity helpでヘルプが表示されればSingularityのインストール完了。

$ singularity help

  Linux container platform optimized for High Performance Computing (HPC) and
  Enterprise Performance Computing (EPC)

  Usage:
    singularity [global options...]

  Description:
    Singularity containers provide an application virtualization layer enabling
    mobility of compute via both application and environment portability. With
    Singularity one is capable of building a root file system that runs on any
    other Linux system where Singularity is installed.

  Options:
    -d, --debug     print debugging information (highest verbosity)
    -h, --help      help for singularity
        --nocolor   print without color output (default False)
    -q, --quiet     suppress normal output
    -s, --silent    only print errors
    -v, --verbose   print additional information

  Available Commands:
    build       Build a Singularity image
    cache       Manage the local cache
    capability  Manage Linux capabilities for users and groups
    exec        Run a command within a container
    help        Help about any command
    inspect     Show metadata for an image
    instance    Manage containers running as services
    key         Manage OpenPGP keys
    oci         Manage OCI containers
    plugin      Manage singularity plugins
    pull        Pull an image from a URI
    push        Upload image to the provided library (default is "cloud.sylabs.io")
    remote      Manage singularity remote endpoints
    run         Run the user-defined default command within a container
    run-help    Show the user-defined help for an image
    search      Search a Container Library for images
    shell       Run a shell within a container
    sif         siftool is a program for Singularity Image Format (SIF) file manipulation
    sign        Attach a cryptographic signature to an image
    test        Run the user-defined tests within a container
    verify      Verify cryptographic signatures attached to an image
    version     Show the version for Singularity

Examples:
  $ singularity help <command> [<subcommand>]
  $ singularity help build
  $ singularity help instance start


For additional help or support, please visit https://www.sylabs.io/docs/



頑張れ!喝!!の代わりにB!ブックマークを押していただけるとただただうれしいです(^^)! ↓