I am having a bit of trouble getting my head around the way snap “abstracts” or interacts with the system it gets installed on.
I will use here Grafana, to demonstrate what I am talking about. The basic problem is that none of the typical Grafana directories or ways of starting / stopping / restarting the service apply in Snap.
I am on Ubuntu 20.
The typical location for Grafana’s configuration is
/etc/grafana. There is a
defaults.ini file there. Within snap, it is placed in
/snap/grafana/36/conf. (Found it with
The typical way of interacting with Grafana’s server is via something like
sudo systemctl ... etc. Obviously, this is made possible by the installation process (typically involving
apt). Within snap, the server itself is placed in
/snap/grafana/36/bin and…kind of limps along, because any attempts to run it directly end with “read only file system” (to an extent, this is understandable). In Ubuntu, grafana does not even come up as a package (so that it can be installed in the usual way).
And so, the question here is: Is there a rule of thumb by which a specific piece of software is treated once it transitions to snap? Is there a way by which to perform a translation between the typical directories and the directories within snap? Or, more generally, how we are supposed to treat it when it operates “as-is” and when it operates “via snap”? Finally, what is “36”?
All the best