1
0
mirror of https://github.com/systemd/systemd.git synced 2024-12-22 17:35:35 +03:00

units: rework systemd-random-seed-{load,save}.service to be a single service

That way ordering it with MountsRequiredFor= works properly, as this no
longer results in mount units start requests to be added to the shutdown
transaction that conflict with stop requests for the same unit.
This commit is contained in:
Lennart Poettering 2013-05-15 22:38:51 +02:00
parent 453a0c2946
commit c35b956d34
7 changed files with 21 additions and 50 deletions

View File

@ -667,16 +667,11 @@ endif
if ENABLE_RANDOMSEED if ENABLE_RANDOMSEED
MANPAGES += \ MANPAGES += \
man/systemd-random-seed-load.service.8 man/systemd-random-seed.service.8
MANPAGES_ALIAS += \ MANPAGES_ALIAS += \
man/systemd-random-seed-save.service.8 \
man/systemd-random-seed.8 man/systemd-random-seed.8
man/systemd-random-seed-save.service.8: man/systemd-random-seed-load.service.8 man/systemd-random-seed.8: man/systemd-random-seed.service.8
man/systemd-random-seed.8: man/systemd-random-seed-load.service.8 man/systemd-random-seed.html: man/systemd-random-seed.service.html
man/systemd-random-seed-save.service.html: man/systemd-random-seed-load.service.html
$(html-alias)
man/systemd-random-seed.html: man/systemd-random-seed-load.service.html
$(html-alias) $(html-alias)
endif endif

View File

@ -3162,8 +3162,7 @@ rootlibexec_PROGRAMS += \
systemd-random-seed systemd-random-seed
nodist_systemunit_DATA += \ nodist_systemunit_DATA += \
units/systemd-random-seed-save.service \ units/systemd-random-seed.service
units/systemd-random-seed-load.service
systemd_random_seed_SOURCES = \ systemd_random_seed_SOURCES = \
src/random-seed/random-seed.c src/random-seed/random-seed.c
@ -3172,16 +3171,13 @@ systemd_random_seed_LDADD = \
libsystemd-label.la \ libsystemd-label.la \
libsystemd-shared.la libsystemd-shared.la
SHUTDOWN_TARGET_WANTS += \
systemd-random-seed-save.service
SYSINIT_TARGET_WANTS += \ SYSINIT_TARGET_WANTS += \
systemd-random-seed-load.service systemd-random-seed.service
endif endif
EXTRA_DIST += \ EXTRA_DIST += \
units/systemd-random-seed-save.service.in \ units/systemd-random-seed.service.in
units/systemd-random-seed-load.service.in
# ------------------------------------------------------------------------------ # ------------------------------------------------------------------------------
if HAVE_LIBCRYPTSETUP if HAVE_LIBCRYPTSETUP

View File

@ -19,10 +19,10 @@
You should have received a copy of the GNU Lesser General Public License You should have received a copy of the GNU Lesser General Public License
along with systemd; If not, see <http://www.gnu.org/licenses/>. along with systemd; If not, see <http://www.gnu.org/licenses/>.
--> -->
<refentry id="systemd-random-seed-load.service" conditional='ENABLE_RANDOMSEED'> <refentry id="systemd-random-seed.service" conditional='ENABLE_RANDOMSEED'>
<refentryinfo> <refentryinfo>
<title>systemd-random-seed-load.service</title> <title>systemd-random-seed.service</title>
<productname>systemd</productname> <productname>systemd</productname>
<authorgroup> <authorgroup>
@ -36,32 +36,27 @@
</refentryinfo> </refentryinfo>
<refmeta> <refmeta>
<refentrytitle>systemd-random-seed-load.service</refentrytitle> <refentrytitle>systemd-random-seed.service</refentrytitle>
<manvolnum>8</manvolnum> <manvolnum>8</manvolnum>
</refmeta> </refmeta>
<refnamediv> <refnamediv>
<refname>systemd-random-seed-load.service</refname> <refname>systemd-random-seed.service</refname>
<refname>systemd-random-seed-save.service</refname>
<refname>systemd-random-seed</refname> <refname>systemd-random-seed</refname>
<refpurpose>Load and save the system random seed at boot and shutdown</refpurpose> <refpurpose>Load and save the system random seed at boot and shutdown</refpurpose>
</refnamediv> </refnamediv>
<refsynopsisdiv> <refsynopsisdiv>
<para><filename>systemd-random-seed-load.service</filename></para> <para><filename>systemd-random-seed.service</filename></para>
<para><filename>systemd-random-seed-save.service</filename></para>
<para><filename>/usr/lib/systemd/systemd-random-seed</filename></para> <para><filename>/usr/lib/systemd/systemd-random-seed</filename></para>
</refsynopsisdiv> </refsynopsisdiv>
<refsect1> <refsect1>
<title>Description</title> <title>Description</title>
<para><filename>systemd-random-seed-load.service</filename> <para><filename>systemd-random-seed.service</filename>
is an early-boot service that restores the random seed is a service that restores the random seed of the
of the system at early-boot and saves it at shutdown. See
system. <filename>systemd-random-seed-save.service</filename>
is a late-shutdown service that saves the random seed
of the system. See
<citerefentry><refentrytitle>random</refentrytitle><manvolnum>4</manvolnum></citerefentry> <citerefentry><refentrytitle>random</refentrytitle><manvolnum>4</manvolnum></citerefentry>
for details. Saving/restoring the random seed across for details. Saving/restoring the random seed across
boots increases the amount of available entropy early boots increases the amount of available entropy early

3
units/.gitignore vendored
View File

@ -41,8 +41,7 @@
/systemd-remount-fs.service /systemd-remount-fs.service
/systemd-vconsole-setup.service /systemd-vconsole-setup.service
/systemd-shutdownd.service /systemd-shutdownd.service
/systemd-random-seed-load.service /systemd-random-seed.service
/systemd-random-seed-save.service
/systemd-initctl.service /systemd-initctl.service
/getty@.service /getty@.service
/systemd-update-utmp-runlevel.service /systemd-update-utmp-runlevel.service

View File

@ -1,18 +0,0 @@
# 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=Save Random Seed
Documentation=man:systemd-random-seed-load.service(8) man:random(4)
DefaultDependencies=no
RequiresMountsFor=@RANDOM_SEED@
After=systemd-remount-fs.service systemd-random-seed-load.service
Before=final.target
[Service]
Type=oneshot
ExecStart=@rootlibexecdir@/systemd-random-seed save

View File

@ -6,13 +6,16 @@
# (at your option) any later version. # (at your option) any later version.
[Unit] [Unit]
Description=Load Random Seed Description=Load/Save Random Seed
Documentation=man:systemd-random-seed-load.service(8) man:random(4) Documentation=man:systemd-random-seed-load.service(8) man:random(4)
DefaultDependencies=no DefaultDependencies=no
RequiresMountsFor=@RANDOM_SEED@ RequiresMountsFor=@RANDOM_SEED@
Conflicts=shutdown.target
After=systemd-readahead-collect.service systemd-readahead-replay.service systemd-remount-fs.service After=systemd-readahead-collect.service systemd-readahead-replay.service systemd-remount-fs.service
Before=sysinit.target final.target Before=sysinit.target shutdown.target
[Service] [Service]
Type=oneshot Type=oneshot
RemainAfterExit=yes
ExecStart=@rootlibexecdir@/systemd-random-seed load ExecStart=@rootlibexecdir@/systemd-random-seed load
ExecStop=@rootlibexecdir@/systemd-random-seed save

View File

@ -10,6 +10,7 @@ Description=Recreate Volatile Files and Directories
Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8) Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8)
DefaultDependencies=no DefaultDependencies=no
Wants=local-fs.target Wants=local-fs.target
Conflicts=shutdown.target
After=systemd-readahead-collect.service systemd-readahead-replay.service local-fs.target After=systemd-readahead-collect.service systemd-readahead-replay.service local-fs.target
Before=sysinit.target shutdown.target Before=sysinit.target shutdown.target
ConditionDirectoryNotEmpty=|/usr/lib/tmpfiles.d ConditionDirectoryNotEmpty=|/usr/lib/tmpfiles.d