Offline distribution guidance


I’m building an application that will need to be updated offline (no internet access). In fact these devices will be offline their whole life- they are only online at the factory. Field updates are done by an operator with a USB drive and terminal access- no internet is possible. Snaps seem to be ideal for this since their dependencies are packaged in. But I’m curious about snapd and the core snap.

So lets say I ship a device, running a snap. Some time goes by, I build a new snap with new features. But the device has the same version of snap and snapd that I shipped it with- is this OK? Or do I need to update one or both?

I see that I can do ‘snap download core’ to get the current core snap. Is it enough to do an offline install of the “latest” core snap and then my snap? Or is it possible that installing a new core snap will have other dependencies?

Sorry about all the questions. Thanks in advance.

snap download will download your snap from the store (.snap and .assert files) where you can transfer them on to a USB stick. Installing it on another system requires you to snap ack the .assert file first followed by a snap install.