welcome: please sign in
location: Änderungen von "SingularityInstallieren"
Unterschiede zwischen den Revisionen 2 und 4 (über 2 Versionen hinweg)
Revision 2 vom 2019-06-05 07:36:04
Größe: 3122
Kommentar: linux
Revision 4 vom 2019-06-17 07:48:31
Größe: 3379
Kommentar:
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 1: Zeile 1:
#acl hayd@cbs.mpg.de:read,write,delete,revert,admin Known:read,write All:read
Zeile 3: Zeile 5:
Singularity wird auf einem 64 Bit Linux installiert. Abhängig davon welche Version man nutzen möchte gibt es verschiedene Möglichkeiten Singularity zu installieren. Generell ist der aktuellste Release immer die beste Wahl, da die Singularity-Container immer abwärtskompatibel und aktuelle Sicherheitslücken gepatched sind. So kann ich einen mit Singularity 2.4 erstellten Container unter Singularity 3.2 starten, wohingegen anders herum kein Arbeiten möglich ist. Singularity wird auf einem 64 Bit Linux installiert. Abhängig davon, welche Version man nutzen möchte, gibt es verschiedene Möglichkeiten Singularity zu installieren. Generell ist der aktuellste Release immer die beste Wahl, da die Singularity-Container immer abwärtskompatibel und aktuelle Sicherheitslücken gepatched sind. So kann man einen mit Singularity 2.4 erstellten Container unter Singularity 3.2 starten, wohingegen anders herum kein Arbeiten möglich ist.
Zeile 8: Zeile 10:
 * folgende Abhängigkeiten sollten installiert werden:  * Folgende Abhängigkeiten ssen installiert werden:
Zeile 23: Zeile 25:
 * aktuelle Versionen von Singularity sind in Go geschrieben und benötigen eine aktuelle Go-Version  * Aktuelle Versionen von Singularity sind teilweise in Go geschrieben und benötigen eine aktuelle Go-Version.
Zeile 28: Zeile 30:
 * Go dependency management tool installieren:  * Dependency management tool für Go installieren:
Zeile 50: Zeile 52:
== Test der Go-Installation ==
 * folgender Befehl gibt Auskunft über die installierte Go-Version:
== Version der Go-Installation ==
 * Folgender Befehl gibt sowohl Auskunft über die installierte Go-Version, als auch darüber, ob Go korrekt installiert wurde:
Zeile 57: Zeile 59:
 * aktuell verfügbare Version 2.6  * aktuell verfügbare Version 2.6 in Ubuntu 18.04 (Stand 12.06.19)
Zeile 75: Zeile 77:
make -C ./builddir install sudo make -C ./builddir install
Zeile 77: Zeile 79:
 * alternativ kann man natürlich auch andere Pfade wählen mit {{{$ ./mconfig --prefix=/opt/singularity}}}  * Alternativ kann man natürlich auch andere Pfade wählen mit: {{{$ ./mconfig --prefix=/opt/singularity}}}
Zeile 82: Zeile 84:
 * evtl. muss der Pfad noch zur PATH-Variable hinzugefügt werden:  * Evtl. muss der Pfad noch zur PATH-Variable hinzugefügt werden:
Zeile 100: Zeile 102:
== Test der Singularity-Installation ==
 * folgender Befehl zeigt die installierte Singularity-Version an:
== Version der Singularity-Installation ==
 * Folgender Befehl zeigt die installierte Version an und bestätigt damit, dass Singularity korrekt installiert wurde :

Singularity unter Linux installieren

Singularity wird auf einem 64 Bit Linux installiert. Abhängig davon, welche Version man nutzen möchte, gibt es verschiedene Möglichkeiten Singularity zu installieren. Generell ist der aktuellste Release immer die beste Wahl, da die Singularity-Container immer abwärtskompatibel und aktuelle Sicherheitslücken gepatched sind. So kann man einen mit Singularity 2.4 erstellten Container unter Singularity 3.2 starten, wohingegen anders herum kein Arbeiten möglich ist.

Abhängigkeiten installieren

  • Folgende Abhängigkeiten müssen installiert werden:

$ 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

Go installieren

  • Aktuelle Versionen von Singularity sind teilweise in Go geschrieben und benötigen eine aktuelle Go-Version.

Installation über das APT-Paketmanagementsystem

$ sudo apt-get install golang -y
  • Dependency management tool für Go installieren:

$ sudo go get -u github.com/golang/dep/cmd/dep

Installation (der aktuellsten Version) über das tar-Archiv

$ sudo tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz
  • Umgebung einrichten:

$ echo 'export GOPATH=${HOME}/go' >> ~/.bashrc && \
echo 'export PATH=/usr/local/go/bin:${PATH}:${GOPATH}/bin' >> ~/.bashrc && \
source ~/.bashrc
  • Go dependency management tool installieren:

$ sudo go get -u github.com/golang/dep/cmd/dep

Version der Go-Installation

  • Folgender Befehl gibt sowohl Auskunft über die installierte Go-Version, als auch darüber, ob Go korrekt installiert wurde:

$ go version

Singularity über APT installieren

  • aktuell verfügbare Version 2.6 in Ubuntu 18.04 (Stand 12.06.19)

$ sudo apt-get install singularity-container -y

Singularity über die Quelle installieren (empfohlen)

  • Download:

$ mkdir -p $GOPATH/src/github.com/sylabs && \
cd $GOPATH/src/github.com/sylabs && \
git clone https://github.com/sylabs/singularity.git && \
cd singularity && \
git checkout v3.2.1
  • Kompilieren:

$ ./mconfig && \
make -C ./builddir && \
sudo make -C ./builddir install
  • Alternativ kann man natürlich auch andere Pfade wählen mit: $ ./mconfig --prefix=/opt/singularity

  • für die bash-completion:

$ echo '. /usr/local/etc/bash_completion.d/singularity' >> ~/.bashrc
  • Evtl. muss der Pfad noch zur PATH-Variable hinzugefügt werden:

$ export PATH=$PATH:/usr/local/bin

Entfernen der Singularity-Installation

  • Verzeichnisse entfernen:

$ sudo rm -rf 
/singularity \
/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

Version der Singularity-Installation

  • Folgender Befehl zeigt die installierte Version an und bestätigt damit, dass Singularity korrekt installiert wurde :

$ singularity --version

SingularityInstallieren (zuletzt geändert am 2019-07-25 11:51:00 durch hayd@cbs.mpg.de)