Journal Créer un service sous systemd

Posté par  . Licence CC By‑SA.
3
19
août
2013

Cher journal,

Comme j'ai toujours du mal à retrouver comment faire cette action simple, voici une liste des démarches à faire:

  • Créer un fichier test.service, à mettre dans /usr/lib/systemd/system/

    [Unit]
    Description=Service de test
    After=tlp-init.service

    [Service]
    Type=oneshot
    RemainAfterExit=no
    ExecStart=/usr/local/bin/test.sh

    [Install]
    WantedBy=multi-user.target

  • Démarrer le service test

    sudo systemctl start test.service

  • Activer le service test au démarrage

    sudo systemctl enable startup.service

Librement repompé adapté de cette page

  • # Dossier pour units perso

    Posté par  . Évalué à 10.

    Et pourquoi ne pas placer le fichier de services dans /etc/systemd/system/ ?

    Cela me parait plus approprié pour une config perso :)

    • [^] # Re: Dossier pour units perso

      Posté par  . Évalué à 10.

      Bon, tu t'es fait moinsser, je ne saurais dire pourquoi, sûrement l'absence de nimage ou le manque d"humour…

      En effet, on crée ses fichiers de config globaux (system-wide) perso sous /etc/systemd/system et pas sous /usr/lib/systemd/system pour éviter qu'une mise à niveau ou qu'une mise à jour de la distro n'écrase ses changements.

      Il est même possible (et recommandé, voir la doc) de créer ses propres services en se basant sur une unité existante dans /usr/lib/systemd, on le copie sous /etc/systemd sous le même nom et on le modifie, il aura la priorité sur l'autre.

      On peut même mettre une directive avec le mot-clé "include" pour insérer le contenu du fichier de /usr/lib/systemd dans son propre fichier (sous /etc/systemd), juste avant sa config à soi, ça permet de profiter des mises à jour du paquet concerné.

      Une nimage pour ne pas me faire moinsser, poil aux pied (pour l'humour).

      • [^] # Re: Dossier pour units perso

        Posté par  . Évalué à 2.

        Merci pour cette remarque. J'aimerais bien mettre à jour le journal, mais il semble que je ne puisse pas le faire…

      • [^] # Re: Dossier pour units perso

        Posté par  (site web personnel) . Évalué à 4.

        Et dans les versions récentes, tu as les dropin folders. Tu fait un fichier foo.unit.d dans /etc/systemd/system, tu rajoutes tes bouts de config, et il fait l'include tout seul.

        C'est encore plus propre pour la gestion par un rpm ou puppet.

        ( systemd 198 )

  • # bouaif

    Posté par  (site web personnel) . Évalué à 10.

    C'est gentil ça, après les journaux bookmarks, voici les journaux manpages.

    • [^] # Re: bouaif

      Posté par  . Évalué à 2.

      Il existe une section astuce sur le forum ou ce journal aurait sa place.

      • [^] # Re: bouaif

        Posté par  (site web personnel) . Évalué à 5.

        Je ne suis même pas sûr, car il s'agit ici de configuration de base d'un service systemd, y'a rien d'«astucieux» là dedans, je ne compte plus le nombre de pages sur le web qui traitent du sujet en anglais ou en français.

        • [^] # Re: bouaif

          Posté par  (site web personnel) . Évalué à 4.

          Ça manque surtout grandement d'explication. Je veux bien copier / coller ce script, mais je n'y comprends pas grand chose.

          Il existe deux catégories de gens : ceux qui divisent les gens en deux catégories et les autres.

          • [^] # Re: bouaif

            Posté par  . Évalué à 4.

            Je sais bien qu'un RTFM est toujours un peu abrupt, mais je te conseille de regarder les manpages de systemd.unit et systemd.service, tout y est bien expliqué.

            Certaines critiques sont justifiées sur systemd, mais pas sur sa doc.

            Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

  • # Oumf

    Posté par  . Évalué à 10.

    Je viens de voir le tag : « création_services_sous_systemd »

    Est-ce que tu as bien compris le principe des tags (étiquettes, balises ?) ? Si c'est le cas, tu crois vraiment que ton tag pourra s'appliquer à un autre journal ? :)

    À la rigueur moi j'aurais mis deux tags : systemd et mémo… Voir juste systemd.

    • [^] # Re: Oumf

      Posté par  . Évalué à 5.

      Tu donne l'impression de parler à l'auteur du journal mais n'importe qui peut mettre des tags, ça peut donc être quelqu'un d'autre qui l'a mis.

      « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

  • # Wiki arch

    Posté par  . Évalué à 3.

    Le wiki d'Arch a une section qui est pas trop mal.

  • # Activer le service test au démarrage

    Posté par  . Évalué à 4.

    sudo systemctl enable startup.service

    Je ne comprends pas comment à partir de cette commande, il arrive a savoir que c'est le service test qui doit être activé au démarrage.
    Je ne connais pas du tout systemd, mais je m'attendrais à voir "test" quelque part dans la commande.

Suivre le flux des commentaires

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