Ubuntu Core: how the file-system works

Oliver Grawert ogra at ubuntu.com
Fri Jan 20 14:54:05 UTC 2017

Am Freitag, den 20.01.2017, 15:33 +0100 schrieb Luca Dionisi:
> Since my "thingy" is going to sport an experimental routing protocol,
> I need
> to change some files on the fly. For instance /etc/iproute/rt_tables.
> Which
> I already see that is not writeable in my Ubuntu Core install.
> Also I am going to use some commands that I haven't yet tested on
> Ubuntu
> Core. Mostly "ip" and "iptables", also in non-default network
> namespaces.
> And I don't know if they need internally write-access to some file.
> Do you see anything about it that would be infeasible in a Ubuntu
> Core as
> it currently stands?
> If not, what is my next step? Will I need to build a custom Ubuntu
> Core
> image? While testing, would I be able to remount the current image
> file
> system in read-write?
you would not be able to mount the current rootfs in read-write, since
it is a squashfs file. 

for the above features you require ubuntu-core typically offers
interfaces that a snap can use to control specific parts of the system
[1]. i assume your goal is to have some app that can manage firewall,
routing and other networking aspects. 

my first step here would be to use the default ubuntu-core image and
start working on a snap you can install on top of it that uses the
existing interfaces. also take a look at the source of existing snaps
for inspiration i.e. there is a "ufw" snap that does firewalling that
should show how you can be able to manipulate iptables with
thefirewall-control interface. 

every time you hit a roadblock you file a bug and ask for extension of
the interface or for a new interface to be added (and indeed we also
accept patches if you already have an idea for a solution ;) ).
eventually you will end up with the system you desire.

snappy is a new approach so things you are used to from existing deb
based systems might work in different ways (like: you wont
make /etc/iproute/rt_tables writable but instead use the network-
control interface to manipulate the routing table).


[1] http://snapcraft.io/docs/reference/interfaces
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: This is a digitally signed message part
URL: <https://lists.ubuntu.com/archives/snapcraft/attachments/20170120/60ccd87d/attachment.sig>

More information about the Snapcraft mailing list