Singularity unter MacOS oder Windows installieren
Singularity wird auf einem 64 Bit Linux installiert, da auf Kernelressourcen des Host-Systems zugegriffen werden muss. Deshalb kann Singularity nicht direkt auf anderen Systemen wie Windows oder MacOS installiert werden. Es wird eine weitere Virtualisierungsschicht benötigt, welche eben einen solchen Kernel zur Verfügung stellt.
Achtung! Sollte Windows oder sogar MacOS als VM laufen, muss Nested Virtualisation auf dem Hostsystem aktiviert werden!
Inhaltsverzeichnis
Installation unter MacOS
Homebrew und Vagrant installieren
$ /usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)” $ brew cask install virtualbox $ brew cask install vagrant $ brew cask install vagrant-manager
Homebrew setzt die command line developer tools voraus. Diese werden automatisch installiert. Falls die Installation fehlschlägt, kann man diese hier herunterladen und installieren oder man installiert alternativ Xcode (sehr groß!)
Singularity einrichten
- Verzeichnis für Vagrant VM erstellen. Hier wird ein Vagrantfile erstellt, welches die Konfiguration der VM enthält.
$ mkdir vm-singularity $ cd vm-singularity
- dieses Verzeichnis sollte leer sein, ansonsten erstellt man ein anderes
- Herunterladen und initialisieren einer VM mit vorinstalliertem Singularity
Die VM kann natürlich angepasst werden. Andere Versionen findet man hier
$ export VM=sylabs/singularity-3.2-ubuntu-bionic64 $ vagrant init $VM
Arbeiten mit Vagrant
- starten der VM mit :
$ vagrant up
- Zugriff auf die VM hat man mit folgendem Befehlen
$ vagrant ssh oder $ vagrant ssh -- -X
- beenden der VM mit:
in der VM: $ sudo poweroff oder $ exit außerhalb der VM: $ vagrant halt
Test der Singularity Installation
- Die Singularity-Installation lässt sich mit folgendem Befehl testen:
$ singularity version
Zugriff auf Host-Verzeichnisse
- Damit man Zugriff auf Daten des Hosts-Systems hat muss das Vagrantfile angepasst werden. Es befindet sich in dem Verzeichnis, welches für die VM erstellt wurde.
Vagrant.configure("2") do |config| # other config here config.vm.synced_folder "src/", "/srv/website" end
- Hierbei handelt es sich bei dem ersten Pfad ("src/") um einen relativen Pfad vom Vagrantfile ausgehend.
- Der zweite Pfad ("/srv/website") ist ein absoluter Pfad im Gastsystem.
Installation unter Windows
- Folgende Programme herunterladen und installieren: