Qual destino do Systemd devo usar para iniciar um serviço na inicialização, mas não atrasar o login do usuário

2

Durante a execução de systemd-analyze critical-chain , notei que o daemon do Samba está no caminho para o login do usuário. Embora eu gostaria que o Samba iniciasse automaticamente na inicialização, eu não me importo se isso acontece antes ou depois do login.

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.

graphical.target @13.587s
└─multi-user.target @13.587s
  └─smbd.service @11.231s +2.355s
    └─network.target @11.230s
      └─[email protected] @10.302s +927ms
        └─basic.target @9.496s
          └─sockets.target @9.496s
            └─pcscd.socket @9.496s
              └─sysinit.target @9.461s
                └─systemd-timesyncd.service @9.397s +63ms
                  └─systemd-tmpfiles-setup.service @9.201s +128ms
                    └─local-fs.target @9.199s
                      └─windows.mount @8.396s +802ms
                        └─dev-disk-by-uuid-E200B0E200B0BF3B.device @8.362s

Olhando o arquivo da unidade, ele declara WantedBy=multi-user.target . Eu imaginei que poderia mudar este alvo com algum alvo alternativo para tirar o Samba do caminho crítico. No entanto, não sei qual destino usar.

systemctl cat smbd.service
# /usr/lib/systemd/system/smbd.service
[Unit]
Description=Samba SMB/CIFS server
After=network.target nmbd.service winbindd.service

[Service]
Type=forking
PIDFile=/var/run/smbd.pid
ExecStart=/usr/bin/smbd -D
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target
    
por Huckle 03.01.2016 / 22:11

1 resposta

0

Enquanto pesquisava e escrevia a pergunta, corri systemctl --all para examinar os destinos disponíveis. Percebi que getty.target tinha uma descrição de "Login Prompts". Observar o caminho crítico de getty.target mostrou que ele realmente começa antes de smbd porque eles não dependem um do outro. Então eu apenas interpretei errado o que multi-user.target significava.

Minha partição do Windows agora está no bloco de corte, não a usou há séculos.

getty.target @10.322s
└─[email protected] @10.322s
  └─systemd-user-sessions.service @9.526s +785ms
    └─basic.target @9.496s
      └─sockets.target @9.496s
        └─pcscd.socket @9.496s
          └─sysinit.target @9.461s
            └─systemd-timesyncd.service @9.397s +63ms
              └─systemd-tmpfiles-setup.service @9.201s +128ms
                └─local-fs.target @9.199s
                  └─windows.mount @8.396s +802ms
                    └─dev-disk-by-uuid-E200B0E200B0BF3B.device @8.362s
    
por 03.01.2016 / 22:16

Tags