Forum Linux.général systemd service non démarré.

Posté par (page perso) . Licence CC by-sa
Tags : aucun
0
6
jan.
2013

Bonjour,

J'ai installé une arch sur ma raspberry pi. Développant un serveur de domotique orienté système style aquarium, mur végétaux etc, j'ai voulu adapter le script d'init vers systemd puisqu'il parait que c'est l'avenir.

Une fois le .service codé, j'ai pu le démarrer a l'aide de la commande # systemtcl start openplacos.service et mon serveur a bien démarré.

Pour qu'il soit activé au démarrage, en me promenant sur internet, si le service est de type static (?), il est automatiquement démarré. C'est bien ce que j'ai chez moi, mais je vous avoue que je ne sais pas pourquoi il est de ce type ni ce que ca veut dire:

# systemctl is-enabled openplacos.service
static

Pourtant, au boot, je ne trouve aucune trace de mon service avec # journalctl -b. Un status de mon service donne:

# systemctl status openplacos.service
openplacos.service - OpenplacOS deamon instance.
      Loaded: loaded (/usr/lib/systemd/system/openplacos.service; static)
      Active: inactive (dead)
      CGroup: name=systemd:/system/openplacos.service

Si je tente une commande pour activer le service:

# systemctl enable openplacos.service
The unit files have no [Install] section. They are not meant to be enabled using systemctl.

… ce qui me renvoie au fait que le service est de type static et qu'il devrait être booté au démarrage, ce qu'il n'est pas.

Auriez vous des idées ?
Merci d'avance,

  • # They are not meant to be enabled using systemctl

    Posté par . Évalué à  6 .

    Je ne suis pas un pro en systemd mais en tapant simplement "systemd static service" sur google, on tombe sur un forum archlinux où l'on peut lire la chose suivante :

    Static units are those which cannot be enabled/disabled, but it doesn't mean they are always executed. They will only if another unit depends on them, or if they are manually started.

    Actually, static units are simply those without an [Install] section. As enabling units means just creating a symlink to wherever [Install] mandates, those units without [Install] section cannot be enabled, as systemctl doesn't know where to place the symlink.

    Of course, you can still manually create a symlink from a static unit to (for instance) /etc/systemd/system/multi-user.target.wants/, and it will be executed as any other enabled unit. But I suppose static units are not intended to be enabled in that way, and most probably you shouldn't need to do it

    Je pense que ça répond à ta question

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.