mirror of
https://github.com/systemd/systemd.git
synced 2024-11-23 18:23:32 +08:00
61628287bd
Otherwise, if a service unit that requests LogNamespace= stopped before systemd-journald@.service is started, logs generated by the service will be lost, as systemd-journald@.socket is stopped and systemd-journald@.service will never started. To prevent the issue, let's introduce another implicit dependency to a oneshot service that explicitly synchronizes a namespaced journal file when the log namespace is not needed anymore. Fixes #32604.
25 lines
880 B
Desktop File
25 lines
880 B
Desktop File
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
#
|
|
# 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=Sync Journal for Namespace %i
|
|
Documentation=man:systemd-journald.service(8) man:journald.conf(5)
|
|
|
|
# At the time when journalctl in ExecStop= is invoked,
|
|
# systemd-journald@.service may not be started yet. Hence, both socket
|
|
# units must be active when journalctl is invoked.
|
|
Requires=systemd-journald@%i.socket systemd-journald-varlink@%i.socket
|
|
After=systemd-journald@%i.socket systemd-journald-varlink@%i.socket
|
|
StopWhenUnneeded=yes
|
|
|
|
[Service]
|
|
ExecStop=journalctl --namespace=%i --sync
|
|
Type=oneshot
|
|
RemainAfterExit=yes
|