Use of halt to safely shutdown IPfire without powering off

When you shut down IPFire, it transitions to init level 0. The final script executed during this transition is /etc/init.d/halt. This script calls the system utility with the following flags: halt -d -f -i -p. The -p flag is what powers off your machine.

The flags have the following meanings:

  • -d: Writes debugging information.
  • -f: Forces the halt action, bypassing the init system.
  • -i: Disables all network interfaces.
  • -p: Powers off the system.

If removing the flag -p solves your problem this is what you could consider doing to change the system behavior:

  1. Copy the original halt script to a new location: cp /etc/init.d/halt /home/mydir/custom_halt.
  2. Edit /home/mydir/custom_halt to remove the -p flag; make sure the script is executable.
  3. Change the symlink in /etc/rc.d/rc0.d/ to point to the new script: ln -sf /home/mydir/custom_halt /etc/rc.d/rc0.d/S99halt.

Note: This change could be undone by system updates. Consider creating a script to reapply these changes after updates.

1 Like