[systemd-devel] [PATCH] units: make ExecStopPost action part of ExecStart
Andrey Borzenkov
arvidjaar at gmail.com
Tue Jul 8 09:18:32 PDT 2014
В Tue, 8 Jul 2014 18:01:12 +0200
Michal Sekletar <msekleta at redhat.com> пишет:
> Currently after exiting rescue shell we isolate default target. User
> might want to isolate to some other target than default one. However
> issuing systemctl isolate command to desired target would bring system
> to default target as a consequence of running ExecStopPost action.
>
> Having common ancestor for rescue shell and possible followup systemctl
> default command should fix this. If user exits rescue shell we will
> proceed with isolating default target, otherwise, on manual isolate,
> parent shell process is terminated and we don't isolate default target,
> but target chosen by user.
>
> Suggested-by: Michal Schmidt <mschmidt at redhat.com>
> ---
> units/emergency.service.in | 3 +--
> units/rescue.service.m4.in | 3 +--
> 2 files changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/units/emergency.service.in b/units/emergency.service.in
> index 94c090f..91fc1bb 100644
> --- a/units/emergency.service.in
> +++ b/units/emergency.service.in
> @@ -17,8 +17,7 @@ Environment=HOME=/root
> WorkingDirectory=/root
> ExecStartPre=-/bin/plymouth quit
> ExecStartPre=-/bin/echo -e 'Welcome to emergency mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" to reboot, "systemctl default" to try again\\nto boot into default mode.'
> -ExecStart=-/sbin/sulogin
> -ExecStopPost=@SYSTEMCTL@ --fail --no-block default
> +ExecStart=-/bin/sh -c "/sbin/sulogin; @SYSTEMCTL@ --fail --no-block default"
You do not really need /bin/sh here, right?
> Type=idle
> StandardInput=tty-force
> StandardOutput=inherit
> diff --git a/units/rescue.service.m4.in b/units/rescue.service.m4.in
> index 552ef89..ef54369 100644
> --- a/units/rescue.service.m4.in
> +++ b/units/rescue.service.m4.in
> @@ -18,8 +18,7 @@ Environment=HOME=/root
> WorkingDirectory=/root
> ExecStartPre=-/bin/plymouth quit
> ExecStartPre=-/bin/echo -e 'Welcome to rescue mode! Type "systemctl default" or ^D to enter default mode.\\nType "journalctl -xb" to view system logs. Type "systemctl reboot" to reboot.'
> -ExecStart=-/sbin/sulogin
> -ExecStopPost=- at SYSTEMCTL@ --fail --no-block default
> +ExecStart=-/bin/sh -c "/sbin/sulogin; @SYSTEMCTL@ --fail --no-block default"
And here.
> Type=idle
> StandardInput=tty-force
> StandardOutput=inherit
More information about the systemd-devel
mailing list