In einem Video von networkchuck stellte er kasm workspaces vor. Ein Tool oder eher ein Webservice, den man hosten kann (wo immer man will), um gekapselte (etwas sicherere) Desktop-Umgebungen oder Anwendungen in einem Docker-Container zu starten, die dann in den Browser gestreamt werden. Da Qube OS nicht mit meiner Hardware kompatibel ist, dachte ich mir sofort, oh toll! Ich brauche das JETZT.
Vor kurzem habe ich eine QEMU/KVM-Umgebung auf meinem Laptop eingerichtet, also brauchte ich nur eine neue virtuelle Maschine zu erstellen und das Ding zu starten - los geht's.
Bevor ich die Installationsdokumente auf der kasm website gelesen habe, habe ich eine neue virtuelle Maschine erstellt und rocky linux installiert, weil ich es ausprobieren wollte. Okay, es wird nicht unterstützt, aber centos schon, also wird es wahrscheinlich funktionieren.

kasm workspace docker installieren

Nachdem der Installationsprozess von rocky abgeschlossen war und ich ein prompt erhielt, folgte ich den Schritten in der Dokumentation.

Kurz und bündig:

Swap erstellen

sudo dd if=/dev/zero bs=1M count=1024 of=/mnt/1GiB.swap
sudo chmod 600 /mnt/1GiB.swap
sudo mkswap /mnt/1GiB.swap
sudo swapon /mnt/1GiB.swap

Überprüfen, ob die Swap-Datei existiert

cat /proc/swaps

Auslagerungsdatei beim Booten verfügbar machen

echo '/mnt/1GiB.swap swap swap defaults 0 0' | sudo tee -a /etc/fstab

Download kasm worskpace

Das Archiv kann von der kasm download page heruntergeladen werden... wo auch sonst :-).
Nach dem Herunterladen muss das Archiv entpackt und das Installationsskript ausgeführt werden. Es wird automatisch ein install_dependencies-Skript ausführen, bevor alle benötigten Dateien und Docker-Images installiert werden.

tar -xf kasm_release*.tar.gz
sudo bash kasm_release/install.sh

Dieses Skript funktioniert nicht mit allen Distributionen!

Ich musste die folgenden Zeilen in der install_dependencies.sh hinzufügen, um die Kompatibilitätsprüfung für Rockylinux hinzuzufügen und damit das Skript alle benötigten Abhängigkeiten installieren konnte.


## Folgende Zeilen kopieren und direkt danach einfügen

if [ "${OS_ID}" == '"centos"' ] && ( [ [ "${OS_VERSION_ID}" == '"7"' ] || [ "${OS_VERSION_ID}" == '"8"' ] ) ; then
    SUPPORTED='true'
    if [ $INSTALL_DOCKER == 'true' ] ; then
        install_centos ${OS_VERSION_ID}
    fi

    if [ $INSTALL_COMPOSE == 'true' ] ; then
        install_docker_compose
    fi
fi

## Dann noch "if" für OS_ID check und OS_VERSION_ID auf rocky und die installierte Version ändern.

if [ "${OS_ID}" == '"rocky"' ] && ( [ [ "${OS_VERSION_ID}" == '"7"' ] || [ "${OS_VERSION_ID}" == '"8.5"' ] ) ; then
    SUPPORTED='true'
    if [ $INSTALL_DOCKER == 'true' ] ; then
        install_centos ${OS_VERSION_ID}
    fi

    if [ $INSTALL_COMPOSE == 'true' ] ; then
        install_docker_compose
    fi
fi

Jetzt läuft das Skript durch und lädt / installiert alles, was ihr braucht!