Skip to content

Commit

Permalink
docs: Expand on filesystem /var
Browse files Browse the repository at this point in the history
Let's talk about the `/var` trap more.

Signed-off-by: Colin Walters <[email protected]>
  • Loading branch information
cgwalters committed Mar 17, 2024
1 parent ac17000 commit 24aed43
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion docs/src/filesystem.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,16 @@ mount points (whether network or `tmpfs`)

As of OSTree v2024.3, by default [content in /var acts like a Docker VOLUME /var](https://github.com/ostreedev/ostree/pull/3166/commits/f81b9fa1666c62a024d5ca0bbe876321f72529c7).

This means that the content from the container image is copied at *initial installation time*, and not updated thereafter.
This means that the content from the container image is copied at initial installation time, and *not updated thereafter*.

The rationale for this is to keep operating system upgrades from touching machine-local data by default.
If the system is rolled back to a previous bootloader entry, the `/var` content remains. This also
makes it possible to "stage" new operating system updates in an alternative root without affecting `/var` content.

A common case is for applications to want some directory structure (e.g. `/var/lib/postgresql`) to be pre-created.
It's recommended to use [systemd tmpfiles.d](https://www.freedesktop.org/software/systemd/man/latest/tmpfiles.d.html)
for this. An even better approach where applicable is [StateDirectory=](https://www.freedesktop.org/software/systemd/man/latest/systemd.exec.html#RuntimeDirectory=)
in units.

## Other directories

Expand Down

0 comments on commit 24aed43

Please sign in to comment.