I currently can’t upgrade a machine from ubuntu 18.04 to 20.04 because of a shortcoming in snapd.
On an 18.04 machine, I am running LXD container virtualization, where LXD is coming as a regular debian package, controlled with systemd. Since the LXD containers are kept in an encrypted file system, which requires a password to be entered, the systemd services for LXD are disabled and can be started after the password has been entered. That’s possible because systemd allows to set services on disabled and still allows to start them with systemctl start … without changing the state of disabled.
For ubuntu 20.04 the LXD package has been turned into a snap.
The problem with snaps is, that it can disable and enable snaps, but cannot start them without toggling its state. Therefore once the password is given and snap LXD run by enabling it, it would remain in enabled state even after reboot.
How would I keep an snap in a disabled state, but start it manually without making it enabled at next boot? (i.e. to run it only after a password for the encrypted partition has been entered)