Un runlevel es uno de los modos en que un sistema basado en Unix corre.
Cada runlevel tiene un conjunto de servicios que inician o se detienen.
Los servicios están configurados mediante scripts que reciben start stop o status como parámetro.
Runlevel | Modo | Acción |
---|---|---|
0 | Halt | Detiene el sistema |
1 | Single User | Para reparación (solo accede root) |
2 | Multi User | Terminales seriales |
3 | Multi User c/red | Sistema en producción |
4 | personalizable | |
5 | Gráfico | Desktop |
6 | Reboot | Reinicio |
Problemas o desventajas:
Opciones para init
Systemd
Lennart Poettering
lanzamiento inicial: 30 abril de 2010
Systemd
Lennart Poettering
Ventajas:
Son los recursos aque systemd conoce y gestiona
systemctl list-units --all
unit | descripción |
---|---|
automount | punto de montado automático |
device | dispositivo de udev o sysfs |
mount | punto de montado (~fstab) |
path | activación por path de un servicio |
scope | se crea con información del bus |
service | como se gestiona un servicio |
slice | se vincula a CGroups |
socket | activación por socket de un servicio |
target | puntos de sincronización y estado del sistema |
timer | gestion de tareas (~cron) |
systemctl list-units --all --state=inactive
systemctl list-units --type=service
estado | descripción |
---|---|
enabled | actiada |
disabled | desactivada |
static | no se puede cambiar |
masked | evita que se inicie |
generated | creada por systemd |
transient | gestionado por systemd (por otra unidad) |
systemctl cat sshd.service
systemctl list-unit-files
systemctl list-dependencies sshd.service
systemctl show sshd.service
# systemctl list-units --type service --all
# systemctl reboot # systemctl halt
Se usa para consultar y controlar el estado de "sistemd" y para administrar los servicios.
# systemctl is-enabled [name.service] # systemctl enable [name.service]
Servicios que inician en el booteo:
* Instalación por defecto en RedHat vs Ubuntu
Activar (start) los servicios
# systemctl start [name.service] # systemctl stop [name.service] # systemctl restart [name.service] # systemctl reload [name.service] # systemctl status [name.service] # systemctl is-active [name.service]
Los systemd targets son equivalentes al sistema de runlevels que se disponía en SysV init.
La unidad graphical.target inicia una sesión gráfica de gdm.service y el servicio de usuario accounts-daemon.service y también activa el multi-user.target
# systemctl get-default # systemctl set-default name.target
# systemctl list-units --type target # systemctl list-dependencies multi-user.target
Un log interno de systemd es manejado por journald
# journalctl -b (boot) # journalctl -u nginx.service
# journalctl -k (kernel)
Controla la fecha y hora del sistema
# timedatectl status # timedatectl list-timezones
# timedatectl set-timezone zone
Controla el hostname del sistema
# hostnamectl status
# systemd-analize # localectl status # loginctl # networkctl status
https://creativecommons.org/licenses/by/4.0/deed.es