snap je na vpsAdminOS funkční, ale samozřejmě záleží na instalované aplikaci, testovali jsem jich jen několik nad Ubuntu 18.04.
Ve vpsAdminu je potřeba v detailu VPS povolit feature FUSE. Potom nainstalujte snapd a squashfuse:
apt install fuse squashfuse snapd
V případě Ubuntu 18.04 by se mělo nainstalovat squashfuse-tools
Naše šablony neobsahují adresář /lib/modules
a snapd ho vyžaduje:
mkdir /lib/modules
A to je vše, nyní můžeme zkusit nainstalovat a spustit hello-world:
snap install hello-world snap run hello-world
Pokud chcete ve VPS provozovat kontejnery, jednou z možností je LXD. Nejprve v detailu VPS povolte feature LXC nesting.
V Ubuntu je LXD k dispozici v repozitářích, ale na jiných distribucích jej můžete nainstalovat jako snap:
snap install lxd
Pak už stačí jen LXD nastavit:
lxd init
A můžete začít spouštět kontejnery:
lxc launch ubuntu:18.04 myubuntu lxc exec myubuntu -- /bin/bash
Pokud se snažíte rozchodit LXD na Debian 10 můžete narazit na problém s AppArmory který nedovolí spustit příkaz lxd
:
$ lxd snap-confine has elevated permissions and is not confined but should be. Refusing to continue to avoid permission escalation attacks
V upstreamu je toto již v AppArmor opraveno, ale Debian používá starší verzi a tedy si tento problém musíte sami opravit. Detail patche můžete najít zde, ve zkratce se musí upravit soubor /lib/apparmor/rc.apparmor.functions
kde se musí přidat definice SFS_MOUNTPOINT
:
is_container_with_internal_policy() { SFS_MOUNTPOINT="${SECURITYFS}/${MODULE}" # tato řádka se musí přidat ...