I am used to the old method of calling init 0
to shutdown. Bad, I know; but when I tried it on my new Arch install I get this:
# init 0
Excess Arguments
This confuses me because I thought systemd
was supposed to support run levels? Looking at the man page, it mentions this:
For compatibility with SysV, if systemd is called as init and a PID
that is not 1, it will execute telinit and pass all command line
arguments unmodified. That means init and telinit are mostly
equivalent when invoked from normal login sessions. See telinit(8) for
more information.
Am I just using the wrong syntax or have I completely misunderstood systemd
?
More Init/Systemd Information
# command -v init
/usr/bin/init
# file /bin/init
/usr/bin/init: symbolic link to ../lib/systemd/systemd
# /lib/systemd/systemd --version
systemd 234
+PAM -AUDIT -SELINUX -IMA -APPARMOR +SMACK -SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 -SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN default-hierarchy=hybrid
# command -v telinit
/usr/bin/telinit
# file /bin/telinit
/bin/telinit: symbolic link to systemctl
# systemctl --version
systemd 234
+PAM -AUDIT -SELINUX -IMA -APPARMOR +SMACK -SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 -SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN default-hierarchy=hybrid
General System Info
# uname -a
Linux arch 4.12.5-1-ARCH #1 SMP PREEMPT Fri Aug 11 12:40:21 CEST 2017 x86_64 GNU/Linux
# bash --version
GNU bash, version 4.4.12(1)-release (x86_64-unknown-linux-gnu)
Best Answer
You've built systemd without the compatibility option, so the compatibility behaviour described in the manual is not going to be present.