Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 13/09/2018, à 21:21

katian

[RESOLU-BIS] : systemd, la suite ...

Salut !

je cherche à comprendre l’Intérêt de liens (symboliques ?) entre /etc/systemd/system & /lib/systemd/system

quelqu'un pourrais m'expliquer ?

Dernière modification par katian (Le 05/11/2020, à 21:23)

Hors ligne

#2 Le 14/09/2018, à 06:23

bruno

Re : [RESOLU-BIS] : systemd, la suite ...

Bonjour,

Cela sert à activer les services (ou sockets, montages, etc.) en créant un lien symbolique de :
/lib/systemd/system/truc.service vers /etc/systemd/system/cible_requise/truc.service.
Le dossier cible_requise correpondant à la section Install du fichier d'unité systemd

Ces liens sont créés ou supprimés à l'aide des commandes :

systemctl enable truc.service
systemctl disable truc.service 

Dernière modification par bruno (Le 14/09/2018, à 06:25)

Hors ligne

#3 Le 14/09/2018, à 11:40

katian

Re : [RESOLU-BIS] : systemd, la suite ...

merci bruno

dans mon /home j'ai un service truc.service et dans /etc/systemd/system/ j'ai créé un lien

ln -s /home/katian/truc.service truc.service

j'ai bon ?

Hors ligne

#4 Le 14/09/2018, à 12:51

bruno

Re : [RESOLU-BIS] : systemd, la suite ...

Non. (et ta commande ne montre pas où est créé le lien symbolique)
Si tu veux créer une unité de service système peronnalisé le mieux est de la placer dans /etc/systemd/system (ou dans $HOME/.config/systemd/user  pour un service spécifique à l'utilisateur). Ce type de fichier n'a rien à faire dans un dossier personnel.

cf. man systemd.unit

Hors ligne

#5 Le 14/09/2018, à 14:55

katian

Re : [RESOLU-BIS] : systemd, la suite ...

merci bruno je vais donc regarder du coté du

$HOME/.config/systemd/user

Hors ligne

#6 Le 14/09/2018, à 16:26

katian

Re : [RESOLU-BIS] : systemd, la suite ...

bruno a écrit :

(ou dans $HOME/.config/systemd/user  pour un service spécifique à l'utilisateur).

c'est à ça que sert

systemctl --user

??

Hors ligne

#7 Le 15/09/2018, à 15:13

LeoMajor

Re : [RESOLU-BIS] : systemd, la suite ...

bonjour,

il y a plusieurs possibilités de path pour insérer ledit script  comme B/**
https: ...//www.freedesktop.org/software/systemd/man/systemd.unit.html
https:..//www.freedesktop.org/software/systemd/man/systemd.service.html

services
A/ type systemctl ou systemctl --system  ; fichier truc.service à placer dans /lib/systemd/system
B/ type systemctl --user ; fichier truc.service  à placer dans  /usr/lib/systemd/user

B/
sudo nano /usr/lib/systemd/user/truc.service  (la seule commande en sudo/root)

[Unit]
Description=... 
Documentation= man:systemd.service

[Install]
WantedBy=default.target 

[Service]
Type=
ExecStart=

La Section [Install] sert principalement à systemctl --user --enable/disable  truc.service  (sans sudo pour  systemctl --user)

readlink /home/toto/.config/systemd/user/default.target.wants/truc.service
/usr/lib/systemd/user/truc.service
systemctl --user start truc.service
systemctl --user status truc.service

Hors ligne

#8 Le 15/09/2018, à 17:38

katian

Re : [RESOLU-BIS] : systemd, la suite ...

merci LeoMajor

Le problème que je découvre avec un service user

systemctl --user start truc.service

c'est qu'au reboot il n'est pas démarré

un service user peux t'il être démarré au boot ?

Hors ligne

#9 Le 18/09/2018, à 17:18

LeoMajor

Re : [RESOLU-BIS] : systemd, la suite ...

oui si

sudo loginctl enable-linger toto
loginctl show-user -p Linger toto
Linger=yes

Hors ligne

#10 Le 18/09/2018, à 17:34

katian

Re : [RESOLU-BIS] : systemd, la suite ...

merci LeoMajor

Hors ligne

#11 Le 05/11/2020, à 14:18

katian

Re : [RESOLU-BIS] : systemd, la suite ...

bonjour à tou.te.s

autre cas, un

$ loginctl enable-linger

a bien créé le fichier

/var/lib/systemd/linger/katian

mais cela ne semble pas activer un service user bidon que j'ai créé avec

systemctl --user edit --full --force dummy.service

est-ce parce que je suis en ssh sur un serveur ?

un

$ systemctl --user start dummy.service

fonctionne très bien ...

Hors ligne

#12 Le 05/11/2020, à 15:40

katian

Re : [RESOLU-BIS] : systemd, la suite ...

le service :

$ systemctl --user cat dummy.service 
# /home/katian/.config/systemd/user/dummy.service
[Unit]
Description=dummy service
###After=network-online.target
###Requires=network-online.target

[Service]
Type=simple

###User=katian
###Group=katian

###Nice=+0

ExecStart=/bin/echo "dummy_start"
ExecStop=/bin/echo "dummy_stop"

[Install]
WantedBy=default.target

Hors ligne

#13 Le 05/11/2020, à 18:38

katian

Re : [RESOLU-BIS] : systemd, la suite ...

j'avance doucement :

après reboot dans une VM ça fonctionne :

$ systemctl --user status dummy.service 
● dummy.service - dummy service
     Loaded: loaded (/home/katian/.config/systemd/user/dummy.service; enabled; vendor preset: enabled)
     Active: inactive (dead) since Thu 2020-11-05 17:33:53 UTC; 37s ago
    Process: 726 ExecStart=/bin/echo dummy_start (code=exited, status=0/SUCCESS)
    Process: 729 ExecStop=/bin/echo dummy_stop (code=exited, status=0/SUCCESS)
   Main PID: 726 (code=exited, status=0/SUCCESS)

Nov 05 17:33:53 ubuntu-server-vm systemd[693]: Started dummy service.
Nov 05 17:33:53 ubuntu-server-vm systemd[693]: dummy.service: Succeeded.

contrairement à l'autre machine :

$ systemctl --user status dummy.service 
● dummy.service - dummy service
     Loaded: loaded (/home/katian/.config/systemd/user/dummy.service; enabled; vendor preset: enabled)
     Active: inactive (dead)

Hors ligne

#14 Le 05/11/2020, à 21:22

katian

Re : [RESOLU-BIS] : systemd, la suite ...

j'ai trouvé !

j'avais fait l'essai avec

[Install]
WantedBy=multi-user.target

mais l'unité

multi-user.target

n'est apparemment pas disponible pour un service utilisateur, ceci était resté en 'cache' et avec

$ systemctl --user disable dummy.service
$ systemctl --user enable dummy.service

c'est résolu !

la faute à que j'ai tendance à trop faire confiance à l'auto-complétion, enfin je me comprends

Hors ligne