Parece que ahora la moda es complicar las cosas. Si algo funciona bien, ¿para qué cambiarlo?
A partir de la versión 7 de RHEL, CentOS y derivados, cambiar los niveles de ejecución ya no pasa por modificar el archivo /etc/inittab y cambiar el id de runlevel tal y como hacíamos hasta la versión 6:
# Default runlevel. The runlevels used by RHS are: # 0 - halt (Do NOT set initdefault to this) # 1 - Single user mode # 2 - Multiuser, without NFS (The same as 3, if you do not have networking) # 3 - Full multiuser mode # 4 - unused # 5 - X11 # 6 - reboot (Do NOT set initdefault to this) # id:3:initdefault:
Ahora, tanto para controlar los niveles de ejecución como los servicios (systemd) se utiliza el comando systemctl con los parámetros correspondientes.
Por ejemplo, para consultar el nivel de ejecución en el que nos encontramos utilizaremos el parámetro get-default
:
# systemctl get-default multi-user.target
Como podéis observar, en lugar de dar el identificador numérico del runlevel muestra el «target» en el que nos encontramos:
# systemctl list-units --type=target UNIT LOAD ACTIVE SUB DESCRIPTION basic.target loaded active active Basic System cryptsetup.target loaded active active Encrypted Volumes getty.target loaded active active Login Prompts graphical.target loaded active active Graphical Interface local-fs-pre.target loaded active active Local File Systems (Pre) local-fs.target loaded active active Local File Systems multi-user.target loaded active active Multi-User System [...]
Para cambiar el nivel de ejecución por defecto utilizaremos el parámetro set-default
seguido del «UNIT» asociado:
# systemctl set-default multi-user.target
En la salida de la ejecución veréis que el comando realmente lo único que hace son crear enlaces simbólicos:
rm '/etc/systemd/system/default.target' ln -s '/usr/lib/systemd/system/multi-user.target' '/etc/systemd/system/default.target'