Skip to main content

Instalar Snap en un contenedor LXC

En algunos casos necesitamos instalar una aplicacion con snap por cualquier motivo. Pero a la hora de hacerlo en un contenedor LXC, no es tan facil como instalar snap el el LXC y despues instalar la aplicaccion que se necesite. Si has intentado instalar snap el LXC te habras encontrado con un error en el proceso de instalacion diciendote que no es compatible. Y eso es debio a la forma de funcionar LXC ya que comparte parte del sistema con el host. Para que podamos hacerlo funcionar tendremos que modificar un par de cosas en el propio contenedor y en el host:

 

En el container:

sudo apt update && sudo apt dist-upgrade
sudo apt install squashfuse fuse
sudo apt install snapd
sudo mkdir /lib/modules

En el host, vamos a la carpeta donde se almacenan los archivos de conf de los LXC the  /etc/pve/lxc/<CTID>.conf 

image.png

Selecionamos el archivo del contenedor en el que hemos instalado snap.

# Mounting fuse (for snap squashfs)
lxc.mount.entry = /dev/fuse dev/fuse none bind,create=file,optional

# Mount cgroup in rw to get snaps working
lxc.mount.auto=cgroup:rw

Y añadmos las siguientes lineas.

image.png

Una vez modificado el archivo reiniciamos el contenedor.

 

Install your desired snap, get the following error:

error: cannot perform the following tasks:
- Setup snap "snapd" (11107) security profiles (cannot reload udev rules: exit status 1
udev output:
Failed to send reload request: No such file or directory

Install the same snap again, then it works.


Referencia:

https://forum.proxmox.com/threads/cant-install-snap-in-lxc-container.68708/