Rodolfo Pilas
bloger podcaster devops sysadmin profesor father
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
By Rodolfo Pilas
Cómo arranca un sistema Linux