[systemd-devel] PrivateTmp and multiple Exec* lines

Tom Gundersen teg at jklm.no
Wed Mar 16 06:19:19 PDT 2011


Hi all,

I'm trying to make native systemd units for bootchart2 (see:
<https://github.com/mmeeks/bootchart>). I ran into the following
problem.

The unit bootchart-done.service has to execute two tasks: run a binary
that generates some files in a private tmp directory:

PrivateTmp=true
ExecStart=/lib/bootchart/bootchart-collector -c --dump /tmp

then tar the generated files together and save them somewhere the user
can find them:

ExecStart=/bin/tar -zcf "$BOOTLOG_DEST" /tmp/header /tmp/dmesg /tmp/*.log

This does not work, as each of the ExecStart lines will get a
different private namespace for their /tmp dir, so the second line
will not find the files generated by the first.

Is this a bug or by design? To me it would make sense if a service
stays inside the same namespace until it is stopped or restarted.

What do you think?

Cheers,

Tom


More information about the systemd-devel mailing list