como distinguir entre serviços do usuário e serviço do sistema no systemd?

3

Eu fiz uma pergunta ontem e um dos comentários respondeu foi que foi compartilhado que é um 'serviço de usuário'. Agora, como distinguir entre um 'serviço do usuário' e um serviço do sistema?

    
por shirish 08.01.2017 / 19:47

2 respostas

4

De acordo com esta documentação, pode-se distinguir o arquivo unitário por seu caminho.

Por exemplo; se o arquivo da unidade estiver no

/etc/systemd/system
/usr/lib/systemd/system
/run/systemd/system

diretórios, esta unidade pertence ao sistema.

Se estiver no

~/.config/systemd/user/*
/etc/systemd/user/*
$XDG_RUNTIME_DIR/systemd/user/*
/run/systemd/user/*
~/.local/share/systemd/user/*
/usr/lib/systemd/user/*

diretórios, pertence ao usuário.

    
por 08.01.2017 / 20:12
3

De acordo com a página do manual systemd (1) dos diretórios da unidade de sistema:

The systemd system manager reads unit configuration from various directories. Packages that want to install unit files shall place them in the directory returned by:

pkg-config systemd –-variable=systemdsystemunitdir

Other directories checked are:

/usr/local/lib/systemd/system
/usr/lib/systemd/system

User configuration always takes precedence.

pkg-config systemd –-variable=systemdsystemconfdir

returns the path of the system configuration directory. Packages should alter the content of these directories only with the enable and disable commands of the systemctl(1) tool. Full list of directories is provided in systemd.unit(5).

Em seguida, para os diretórios da unidade do usuário:

Similar rules apply for the user unit directories. However, here the XDG Base Directory specification[6] is followed to find units. Applications should place their unit files in the directory returned by:

pkg-config systemd –-variable=systemduserunitdir

Global configuration is done in the directory reported by:

pkg-config systemd –-variable=systemduserconfdir

The enable and disable commands of the systemctl(1) tool can handle both global (i.e. for all users) and private (for one user) enabling/disabling of units. Full list of directories is provided in systemd.unit(5).

Observe que essas são as regras do systemd que instruem os empacotadores dos locais apropriados a colocarem arquivos diferentes e cabe ao empacotador seguir corretamente essas regras.

    
por 12.01.2017 / 22:13