[systemd-devel] How to create minimal portable services environments?

Lennart Poettering lennart at poettering.net
Tue Sep 11 09:02:07 UTC 2018


On Mi, 29.08.18 12:24, Wojtek Swiatek (w at swtk.info) wrote:

> Some of these are existing directories, some new ones and then  there are
> files (new, but possibly existing as well).
> 
> *How should I create a filesystem which has only the files required by the
> packages (= the ones it brings in, as well as all the
> dependencies)?*

Ideally your distriution would solve this or help you with it. This is
after all not a problem specific to portable services, but having a
minimal system is useful in almost all cases.

One idea is to use an initrd builder to put these images together. For
example, in systemd's set of tests we have something based on the
"dracut" initrd builder that puts together minimal testing images and
runs them in qemu and nspawn (see test/TEST-*/ in the
sources). something like this could also be used to put together
portable services. initrd builders usually start with a minimal set of
files you specify and then have limited logic built in to add
necessary dependencies of these files (usually by following ELF .so
deps and such).

It certainly would be a cool project to maybe generalize and beef up
the dracut image logic for building such portable service images!

Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list