Ya que tenemos que lidiar con él vamos a sacarle algún partido extra que justifique el "trago".
Ubicación de la configuración
Lo que antes buscabas en tu /etc/rcX.d ya no está. Tampoco te funciona "/etc/init.d/servicioX start". Eso ha cambiado y hay una nueva ubicación y un sistema de dependencias en el arranque diferente. Si eres de los míos y quieres saber donde se esconde y qué forma tiene la configuración aquí tienes algunas indicaciones:
# ls -al /etc/systemd/system/ total 12 drwxr-xr-x. 10 root root 4096 jul 21 10:40 . drwxr-xr-x. 4 root root 4096 abr 25 13:35 .. drwxr-xr-x. 2 root root 30 jul 21 10:40 basic.target.wants lrwxrwxrwx. 1 root root 46 abr 25 13:28 dbus-org.freedesktop.NetworkManager.service -> /usr/lib/systemd/system/NetworkManager.service lrwxrwxrwx. 1 root root 57 abr 25 13:28 dbus-org.freedesktop.nm-dispatcher.service -> /usr/lib/systemd/system/NetworkManager-dispatcher.service lrwxrwxrwx. 1 root root 37 abr 25 13:29 default.target -> /lib/systemd/system/multi-user.target drwxr-xr-x. 2 root root 85 abr 25 13:28 default.target.wants drwxr-xr-x. 2 root root 31 abr 25 13:28 getty.target.wants drwxr-xr-x. 2 root root 4096 may 18 13:59 multi-user.target.wants drwxr-xr-x. 2 root root 30 may 18 13:59 remote-fs.target.wants drwxr-xr-x. 2 root root 75 may 18 13:59 sockets.target.wants drwxr-xr-x. 2 root root 86 abr 25 13:35 sysinit.target.wants drwxr-xr-x. 2 root root 43 abr 25 13:28 system-update.target.wants # ls /etc/systemd/system/multi-user.target.wants atop.service crond.service kdump.service nfs-client.target postfix.service rsyslog.service sshd.service vmtoolsd.service auditd.service irqbalance.service NetworkManager.service ntpd.service remote-fs.target snmpd.service tuned.service # cat /etc/systemd/system/multi-user.target.wants/atop.service [Unit] Description=advanced interactive monitor After=syslog.target [Service] Type=forking PIDFile=/var/run/atop.pid ExecStart=/usr/bin/atopd ExecStop=/bin/rm -f /var/run/atop.pid [Install] WantedBy=multi-user.target
Secuencia de arranque
Seguro que todos tenemos más o menos una idea de cómo arranca nuestro equipo con Linux. Me refiero a la secuencia en las que las cosas ocurren. Podemos saber con precisión qué depende de qué con el comando
# systemd-analyze critical-chain The time after the unit is active or started is printed after the "@" character. The time the unit takes to start is printed after the "+" character. multi-user.target @22.077s └─tuned.service @17.251s +4.824s └─network.target @17.233s └─network.service @15.516s +1.715s └─NetworkManager.service @7.451s +1.904s └─basic.target @7.265s └─sockets.target @7.265s └─dbus.socket @7.264s └─sysinit.target @7.253s └─systemd-update-utmp.service @7.201s +50ms └─auditd.service @6.744s +452ms └─systemd-tmpfiles-setup.service @6.647s +94ms └─rhel-import-state.service @6.536s +108ms └─local-fs.target @6.505s └─boot.mount @5.125s +1.375s └─systemd-fsck@dev-disk-by\x2duuid-0a013536\x2d8d16\x2d4bde\x2db03a\x2da664620130fe.service @4.737s +386ms └─dev-disk-by\x2duuid-0a013536\x2d8d16\x2d4bde\x2db03a\x2da664620130fe.device @4.736s
Diagrama de Gant y tiempos de puesta en marcha
Podemos obtener más detalle en el informe generando un diagrama de Gant con marcas de tiempo. Para ello podemos usar el comando
systemd-analyze plot > boot-gant.svg
Esto nos va a generar un svg que puedes abrir sin problemas con cualquier explorador de internet (por ejemplo). Verás algo asi como el gráfico siguiente. Si lo analizas verás que te indice el tiempo en el que tu sistema operativo está completamente arriba desde cero.
La leyenda (abajo) te indica el estado de cada proceso a lo largo del tiempo.