Rastreando a ordem de execução de destino do systemd

1

Estou tentando entender as operações do Systemd quando o sistema é inicializado. Na minha humilde compreensão, normalmente o primeiro alvo a ser inicializado é /usr/lib/systemd/user/default.target , os alvos abaixo do Ubuntu:

default.target :

[Unit]
Description=Default
Documentation=man:systemd.special(7)
Requires=basic.target
After=basic.target
AllowIsolate=yes

default.target requer e é executado após basic.target :

[Unit]
Description=Basic System
Documentation=man:systemd.special(7)
Wants=sockets.target timers.target paths.target
After=sockets.target timers.target paths.target

sockets.target :

[Unit]
Description=Sockets
Documentation=man:systemd.special(7)

timers.target :

[Unit]
Description=Timers
Documentation=man:systemd.special(7)

DefaultDependencies=no
Conflicts=shutdown.target

paths.target :

[Unit]
Description=Paths
Documentation=man:systemd.special(7)

Então o Systemd vai determinar a dependência da dependência e a dependência da dependência e assim por diante, mas chegamos a um beco sem saída, como? Supondo que tudo correu bem em todo o processo, isto é, todas as dependências para defaul.target foram determinadas e inicializadas, ainda precisamos de multi-user.target , sysinit.target e outras metas, todas as metas acima mencionam nada sobre essas metas.

Como o Systemd determina quais alvos serão inicializados e quais devem ser ignorados?

    
por direprobs 12.09.2017 / 13:11

0 respostas