Re: [systemd-devel] Stateless System Presets

2019-08-02 Thread Lennart Poettering
On Do, 01.08.19 16:48, Quinn Mikelson (quinn.mikel...@tyvak.com) wrote:

> I work at a company who develops a number of semi-stateless
> systems. My current challenge is integrating out growing number of
> vendor-specific applications and services into a system with
> persistent /etc and /usr directories.
>
> These images are generated using Buildroot with initramfs
> filesystems; I'm using the term semi-stateless, because their /etc
> and /usr directories can be "patched" during runtime, but are
> otherwise refreshed upon each reboot.
>
> The specific services that get enabled on boot change from image to
> image, so I'd ideally like a single file to describe each image for
> ease of management.
>
> The system-preset mechanism seems like it was designed for this
> application, unfortunately it seems geared toward volatile systems,
> and only operates from within the running system after executing
> something like systemctl preset-all.
>
> Is there an accepted method of maintaining and applying a preset
> service during image packaging or upon system boot for stateless
> systems? My current solution is manually parsing the preset files
> with a custom script and creating or deleting symlinks accordingly.

You should be able to just run "systemctl --root=… preset-all", which
will apply all presets relative to some root directory.

Note that presets are also run automatically at boot, if /etc is
determined to be unpopulated (i.e. on "first boot"). This is derived
from whether /etc/machine-id exists.

Lennart

--
Lennart Poettering, Berlin
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/systemd-devel

Re: [systemd-devel] Stateless System Presets

2019-08-01 Thread Ryan Gonzalez
Could you use systemd-tmpfiles to set up the symlinks? I know OSTree-based
distros often use it to initialize symlinks on the rootfs.

On Thu, Aug 1, 2019, 12:05 PM Quinn Mikelson 
wrote:

> I work at a company who develops a number of semi-stateless systems. My
> current challenge is integrating out growing number of vendor-specific
> applications and services into a system with persistent /etc and /usr
> directories.
>
> These images are generated using Buildroot with initramfs filesystems; I'm
> using the term semi-stateless, because their /etc and /usr directories can
> be "patched" during runtime, but are otherwise refreshed upon each reboot.
>
> The specific services that get enabled on boot change from image to image,
> so I'd ideally like a single file to describe each image for ease of
> management.
>
> The system-preset mechanism seems like it was designed for this
> application, unfortunately it seems geared toward volatile systems, and
> only operates from within the running system after executing something like
> systemctl preset-all.
>
> Is there an accepted method of maintaining and applying a preset service
> during image packaging or upon system boot for stateless systems? My
> current solution is manually parsing the preset files with a custom script
> and creating or deleting symlinks accordingly.
>
> -Quinn
>
>
> This e-mail message and any attachments are intended solely for the
> specified addressee(s) and may be confidential, proprietary, privileged,
> and/or U.S. export controlled. If you are not the intended recipient, you
> are hereby notified that any use, disclosure, distribution, copying, or
> storage of this message or its attachments is strictly prohibited. Please
> immediately notify the sender by return e-mail and delete this message and
> any attachments.
> ___
> systemd-devel mailing list
> systemd-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/systemd-devel
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/systemd-devel