Skip to content

Commit

Permalink
Ship custom tmpfiles.d configuration to avoid man-db cache removal
Browse files Browse the repository at this point in the history
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: grml/grml#201
Thanks: 2f2a and Darshaka Pathirana
  • Loading branch information
mika committed Feb 2, 2023
1 parent d1575f1 commit a4d3b31
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 0 deletions.
6 changes: 6 additions & 0 deletions etc/grml/fai/config/files/etc/tmpfiles.d/man-db.conf/GRMLBASE
@@ -0,0 +1,6 @@
# This file was deployed via grml-live's
# ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/85-systemd script, using
# ${GRML_FAI_CONFIG}/config/files/etc/tmpfiles.d/man-db.conf/GRMLBASE

# Override default (age set to 1w) to avoid disappearing mandb caches
d /var/cache/man 0755 man man -
16 changes: 16 additions & 0 deletions etc/grml/fai/config/scripts/GRMLBASE/85-systemd
@@ -0,0 +1,16 @@
#!/bin/bash
# Filename: ${GRML_FAI_CONFIG}/config/scripts/GRMLBASE/85-systemd
# Purpose: configure systemd and related services
# Authors: grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
# Bug-Reports: see http://grml.org/bugs/
# License: This file is licensed under the GPL v2 or any later version.
################################################################################

set -u
set -e
. "$GRML_LIVE_CONFIG"

fcopy -M -i -B -v -r /etc/tmpfiles.d

## END OF FILE #################################################################
# vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2

0 comments on commit a4d3b31

Please sign in to comment.