From 9339db7187c61eb7ae7e6ffcddb2b2f2686954eb Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 11 Jun 2014 00:12:21 +0200 Subject: [PATCH] tmpfiles: always recreate the most basic directory structure in /var Let's allow booting up with /var empty. Only create the most basic directories to get to a working directory structure and symlink set in /var. --- Makefile.am | 3 ++- src/tmpfiles/tmpfiles.c | 2 +- tmpfiles.d/legacy.conf | 1 + tmpfiles.d/systemd.conf | 5 ----- tmpfiles.d/var.conf | 20 ++++++++++++++++++++ 5 files changed, 24 insertions(+), 7 deletions(-) create mode 100644 tmpfiles.d/var.conf diff --git a/Makefile.am b/Makefile.am index c67f0634b..3ea95e948 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1725,7 +1725,8 @@ dist_tmpfiles_DATA = \ tmpfiles.d/systemd.conf \ tmpfiles.d/systemd-nologin.conf \ tmpfiles.d/tmp.conf \ - tmpfiles.d/x11.conf + tmpfiles.d/x11.conf \ + tmpfiles.d/var.conf if HAVE_SYSV_COMPAT dist_tmpfiles_DATA += \ diff --git a/src/tmpfiles/tmpfiles.c b/src/tmpfiles/tmpfiles.c index 89f6c6bd1..4c0f23e2e 100644 --- a/src/tmpfiles/tmpfiles.c +++ b/src/tmpfiles/tmpfiles.c @@ -750,7 +750,7 @@ static int create_item(Item *i) { } if (!streq(i->argument, x)) { - log_error("%s is not the right symlinks.", i->path); + log_error("%s is not the right symlink.", i->path); return -EEXIST; } diff --git a/tmpfiles.d/legacy.conf b/tmpfiles.d/legacy.conf index a1656873d..32196723f 100644 --- a/tmpfiles.d/legacy.conf +++ b/tmpfiles.d/legacy.conf @@ -11,6 +11,7 @@ # systems. d /run/lock 0755 root root - +L /var/lock - - - - ../run/lock # /run/lock/subsys is used for serializing SysV service execution, and # hence without use on SysV-less systems. diff --git a/tmpfiles.d/systemd.conf b/tmpfiles.d/systemd.conf index 85dc35699..9554f38d3 100644 --- a/tmpfiles.d/systemd.conf +++ b/tmpfiles.d/systemd.conf @@ -10,11 +10,6 @@ d /run/user 0755 root root ~10d F! /run/utmp 0664 root utmp - -f /var/log/wtmp 0664 root utmp - -f /var/log/btmp 0600 root utmp - - -d /var/cache/man - - - 30d - d /run/systemd/ask-password 0755 root root - d /run/systemd/seats 0755 root root - d /run/systemd/sessions 0755 root root - diff --git a/tmpfiles.d/var.conf b/tmpfiles.d/var.conf new file mode 100644 index 000000000..10d2e4965 --- /dev/null +++ b/tmpfiles.d/var.conf @@ -0,0 +1,20 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. + +# See tmpfiles.d(5) for details + +L /var/run - - - - ../run + +d /var/log 0755 - - - +f /var/log/wtmp 0664 root utmp - +f /var/log/btmp 0600 root utmp - + +d /var/cache 0755 - - - +d /var/cache/man - - - 30d + +d /var/lib 0755 - - - +d /var/spool 0755 - - - -- 2.30.2