Ship custom tmpfiles.d configuration to avoid man-db cache removal
authorMichael Prokop <mika@grml.org>
Thu, 2 Feb 2023 15:07:12 +0000 (16:07 +0100)
committerMichael Prokop <mika@grml.org>
Thu, 2 Feb 2023 16:20:45 +0000 (17:20 +0100)
commita4d3b318439a047a6676605bd29e9c850cc17415
treee9a0d6d4f2bf87e432af338748f8ed493cc8de75
parentd1575f1e7726c4cbdfa27bcff9ef973cdb6709e1
Ship custom tmpfiles.d configuration to avoid man-db cache removal

The default /usr/lib/tmpfiles.d/man-db.conf configuration includes:

  d /var/cache/man 0755 man man 1w

The systemd-tmpfiles-clean.timer runs 15 minutes after system bootup
(and then once per day). On our live system the mandb cache directory
/var/cache/man dates to the build time of the ISO, which of course
usually is older than one week. Then as soon as the
systemd-tmpfiles-clean.service is executed the mandb cache gets removed
and apropos(1) no longer works (at least until mandb gets executed
again).

Avoid this /var/cache/man removal by overriding the default
configuration file with a /etc/tmpfiles.d/man-db.conf configuration that
doesn't set the age option ("1w").

Credits to @2f2a for the bug report and @jkirk for assistance in debugging

Closes: https://github.com/grml/grml/issues/201
Thanks: 2f2a and Darshaka Pathirana
etc/grml/fai/config/files/etc/tmpfiles.d/man-db.conf/GRMLBASE [new file with mode: 0644]
etc/grml/fai/config/scripts/GRMLBASE/85-systemd [new file with mode: 0755]