mirror of
https://github.com/systemd/systemd-stable.git
synced 2024-12-31 17:17:43 +03:00
Hook up systemd-tmpfiles as user units
An explicit --user switch is necessary because for the user@0.service instance systemd-tmpfiles is running as root, and we need to distinguish that from systemd-tmpfiles running in systemd-tmpfiles*.service. Fixes #2208. v2: - restore "systemd-" prefix - add systemd-tmpfiles-clean.{service,timer}, systemd-setup.service to systemd-tmpfiles(8)
This commit is contained in:
parent
f2b5ca0e4e
commit
cfdda37c9f
@ -62,10 +62,16 @@
|
||||
<arg choice="opt" rep="repeat"><replaceable>CONFIGFILE</replaceable></arg>
|
||||
</cmdsynopsis>
|
||||
|
||||
<para><filename>systemd-tmpfiles-setup.service</filename></para>
|
||||
<para><filename>systemd-tmpfiles-setup-dev.service</filename></para>
|
||||
<para><filename>systemd-tmpfiles-clean.service</filename></para>
|
||||
<para><filename>systemd-tmpfiles-clean.timer</filename></para>
|
||||
<para>System units:
|
||||
<literallayout><filename>systemd-tmpfiles-setup.service</filename>
|
||||
<filename>systemd-tmpfiles-setup-dev.service</filename>
|
||||
<filename>systemd-tmpfiles-clean.service</filename>
|
||||
<filename>systemd-tmpfiles-clean.timer</filename></literallayout></para>
|
||||
|
||||
<para>User units:
|
||||
<literallayout><filename>systemd-tmpfiles-setup.service</filename>
|
||||
<filename>systemd-tmpfiles-clean.service</filename>
|
||||
<filename>systemd-tmpfiles-clean.timer</filename></literallayout></para>
|
||||
</refsynopsisdiv>
|
||||
|
||||
<refsect1>
|
||||
|
@ -17,3 +17,6 @@
|
||||
|
||||
install_data('90-systemd.preset',
|
||||
install_dir : systempresetdir)
|
||||
|
||||
install_data('user/90-systemd.preset',
|
||||
install_dir : userpresetdir)
|
||||
|
14
presets/user/90-systemd.preset
Normal file
14
presets/user/90-systemd.preset
Normal file
@ -0,0 +1,14 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1+
|
||||
#
|
||||
# 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.
|
||||
|
||||
# These ones should be enabled by default, even if distributions
|
||||
# generally follow a default-off policy.
|
||||
|
||||
enable systemd-tmpfiles-setup.service
|
||||
enable systemd-tmpfiles-clean.timer
|
@ -29,6 +29,7 @@ units = [
|
||||
'sockets.target',
|
||||
'sound.target',
|
||||
'timers.target',
|
||||
'systemd-tmpfiles-clean.timer',
|
||||
]
|
||||
|
||||
foreach file : units
|
||||
@ -38,6 +39,8 @@ endforeach
|
||||
|
||||
in_units = [
|
||||
'systemd-exit.service',
|
||||
'systemd-tmpfiles-clean.service',
|
||||
'systemd-tmpfiles-setup.service',
|
||||
]
|
||||
|
||||
foreach file : in_units
|
||||
|
21
units/user/systemd-tmpfiles-clean.service.in
Normal file
21
units/user/systemd-tmpfiles-clean.service.in
Normal file
@ -0,0 +1,21 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1+
|
||||
#
|
||||
# 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.
|
||||
|
||||
[Unit]
|
||||
Description=Cleanup of User's Temporary Files and Directories
|
||||
Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8)
|
||||
DefaultDependencies=no
|
||||
Conflicts=shutdown.target
|
||||
Before=basic.target shutdown.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=@rootbindir@/systemd-tmpfiles --user --clean
|
||||
SuccessExitStatus=65
|
||||
IOSchedulingClass=idle
|
19
units/user/systemd-tmpfiles-clean.timer
Normal file
19
units/user/systemd-tmpfiles-clean.timer
Normal file
@ -0,0 +1,19 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1+
|
||||
#
|
||||
# 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.
|
||||
|
||||
[Unit]
|
||||
Description=Daily Cleanup of User's Temporary Directories
|
||||
Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8)
|
||||
|
||||
[Timer]
|
||||
OnStartupSec=5min
|
||||
OnUnitActiveSec=1d
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
25
units/user/systemd-tmpfiles-setup.service.in
Normal file
25
units/user/systemd-tmpfiles-setup.service.in
Normal file
@ -0,0 +1,25 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1+
|
||||
#
|
||||
# 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.
|
||||
|
||||
[Unit]
|
||||
Description=Create User's Volatile Files and Directories
|
||||
Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8)
|
||||
DefaultDependencies=no
|
||||
Conflicts=shutdown.target
|
||||
Before=basic.target shutdown.target
|
||||
RefuseManualStop=yes
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
RemainAfterExit=yes
|
||||
ExecStart=@rootbindir@/systemd-tmpfiles --user --create --remove --boot
|
||||
SuccessExitStatus=65
|
||||
|
||||
[Install]
|
||||
WantedBy=basic.target
|
Loading…
Reference in New Issue
Block a user