units: make ExecStopPost action part of ExecStart

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@redhat.com>
This commit is contained in:
Michal Sekletar 2014-07-08 17:42:23 +02:00
parent b72ddf0f4f
commit d338151228
2 changed files with 2 additions and 4 deletions

View file

@ -17,8 +17,7 @@ Environment=HOME=/root
WorkingDirectory=/root WorkingDirectory=/root
ExecStartPre=-/bin/plymouth quit 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.' 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 ExecStart=-/bin/sh -c "/sbin/sulogin; @SYSTEMCTL@ --fail --no-block default"
ExecStopPost=@SYSTEMCTL@ --fail --no-block default
Type=idle Type=idle
StandardInput=tty-force StandardInput=tty-force
StandardOutput=inherit StandardOutput=inherit

View file

@ -18,8 +18,7 @@ Environment=HOME=/root
WorkingDirectory=/root WorkingDirectory=/root
ExecStartPre=-/bin/plymouth quit 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.' 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 ExecStart=-/bin/sh -c "/sbin/sulogin; @SYSTEMCTL@ --fail --no-block default"
ExecStopPost=-@SYSTEMCTL@ --fail --no-block default
Type=idle Type=idle
StandardInput=tty-force StandardInput=tty-force
StandardOutput=inherit StandardOutput=inherit