Page 1 sur 1

[systemd]Ajout d'un service (resolu)

Publié : mar. 27 nov. 2012, 11:59
par blake
Bonjour,

J'aurai voulu rajouter un service au demarrage de mon Archlinux.
Pour ca j'ai un script que j'ai voulu ajouter au fichier rc.d qui lui va me lancer mon logiciel au demarrage.

J'ai fais un systemctl start "monservice", et ca me renvoie :

Code : Tout sélectionner

Loaded : error (Reason : No such file or directory)
Alors ma question est : Comment ajoute on un service perso au demarrage d'un archlinux ?

J'ai cherché un peu sur differents wiki et sur le forum sans pour le moment trouver de reponse. Je continue en parallele mais si quelqu'un avait la solution je lui en serais reconnaissant.

Merci !

Re: [systemd]Ajout d'un service

Publié : mar. 27 nov. 2012, 12:06
par tuxce
Un exemple simple /etc/systemd/system/mon_service.service:

Code : Tout sélectionner

[Unit]
Description=Mon service à moi

[Service]
ExecStart=/chemin/absolu/vers/script

[Install]
WantedBy=multi-user.target
Une fois le fichier crée, tu lances en root :

Code : Tout sélectionner

systemctl daemon-reload
Ensuite, tu pourras interagir avec ton service.

Re: [systemd]Ajout d'un service

Publié : mar. 27 nov. 2012, 12:07
par blake
J'etais entrain de regarder ca justement et j'y reflechissais. Je vais tester ca tout de suite et viens donner le resultat quel qu'il soit ! Merci :)

Re: [systemd]Ajout d'un service

Publié : mar. 27 nov. 2012, 12:09
par z3bra
archwiki:systemd

Tu crées ton service, tu le places dans le dossier des services de systemd, et tu l'active/lance :)

Re: [systemd]Ajout d'un service

Publié : mar. 27 nov. 2012, 12:12
par blake
C'est parfait, ca fonctionne du feu de dieu ! Merci beaucoup !

Re: [systemd]Ajout d'un service (en court)

Publié : mar. 27 nov. 2012, 15:13
par blake
Finalement ca marche pas vraiment lol.

Je m'explique, j'ai creer le fichier netsoul.service

Code : Tout sélectionner

[Unit]
Description=netsoul
Required=network.service
After=network.service

[Service]
ExecStart=/etc/rc.d/netsoul

[Install]
WantedBy=multi-user.target
Ensuite, j'ai reload mes daemon avec la commande cité plus haut. Puis j'ai

Code : Tout sélectionner

systemctl start netsoul
Jusqu'ici pas de probleme, seulement quand je fais un

Code : Tout sélectionner

systemctl status netsoul
J'obtiens :

Code : Tout sélectionner

netsoul.service - netsoul
loaded: loaded (/etc/systemd/system/netsoul.service: enable)
active: inactive (dead) since (la date du jour)
Process: 607 ExecStart=/etc/rc.d/netsoul (code=exited, status=0/SUCCESS)
CGroup: name=systemd:/system/netsoul.service

archiso systemd[1]: Starting netsoul...
archiso systemd[1]: Started netsoul.
archiso netsoul[607]: usage : /etc/rc.d/netsoul {start,stop,restart}
Alors ma question est la suivante : Quelqu'un sait pourquoi mon service ne se lance pas ?

Re: [systemd]Ajout d'un service (en court)

Publié : mar. 27 nov. 2012, 15:20
par benjarobin
Ton message contient la réponse :

Code : Tout sélectionner

usage : /etc/rc.d/netsoul {start,stop,restart}
De plus je en sais pas si /etc/rc.d/netsoul est adapté à systemd (des dépendances à initscript ?), tout ce qui est dans /etc/rc.d/ ne devrait pas être utilisé

Et merci de ne pas utiliser cette injonction "lol", cela n'apporte guère de crédibilité... (Désolé mais j'en vois trop, et autant utiliser les smiley) :copain: :wink:

Re: [systemd]Ajout d'un service (en court)

Publié : mar. 27 nov. 2012, 15:28
par z3bra

Code : Tout sélectionner

archiso netsoul[607]: usage : /etc/rc.d/netsoul {start,stop,restart}
ça me paraît clair ;) Vu que tu as fais un script "type" d'rc.d, il te faut ajouter une commande en paramètre.

edit: woops, trop lent. désolé pour le double post :) Disons que j'apporte un plus à la réponse :P

Re: [systemd]Ajout d'un service (en court)

Publié : mar. 27 nov. 2012, 15:29
par blake
Concernant le rc.d, je ne savais pas, j'y avais mis mon script de lancement de mon service parce que je pensais qu'il fallait le mettre la.
Je l'ai mis dans un fichier a part.

Par contre, je comprend pas la reponse que tu m'as donné, tu me dis que c'est la reponse a ma question, mais je ne la comprend pas...

Edit : Lol moi encore plus lent. Mais je pige vraiment pas ce que vous voulez dire...

Re: [systemd]Ajout d'un service

Publié : mar. 27 nov. 2012, 15:31
par z3bra
/etc/rc.d/netsoul [b]start[/b] pour le lancer

L'erreur renvoyée à la fin t'explique comment utiliser ton script ;)

Re: [systemd]Ajout d'un service

Publié : mar. 27 nov. 2012, 15:38
par blake
Ok merci pour l'aide, j'ai compris.

Bon maintenant ca me renvoie d'autre erreur qui viennent directement du script qu'on m'a passé et qu'on m'a demandé de faire executer (Oui je suis en stage :) ).

Et concernant l'utilisation du "lol", je m'en souviendrais :P .

Re: [systemd]Ajout d'un service

Publié : mar. 27 nov. 2012, 15:41
par tuxce
En plus de l'argument start,stop...
Un script rc.d inclue par défaut certains fichiers provenant d'initscripts. Si tu ne les as pas, le script sera au mieux bancal. Si tu les as, pas besoin de te prendre la tête, initscripts fournit déjà de quoi démarrer ses services par le biais de systemd (systemd / DAEMONS), il suffit de rajouter le soft dans la variable DAEMONS de rc.conf.

(Ceci dit, il vaut mieux chercher comment le soft démarre et faire un vrai service systemd, mais bon, c'est pas forcément toujours simple.)

Re: [systemd]Ajout d'un service

Publié : mar. 27 nov. 2012, 16:09
par blake
Oui en fait je me suis rendu compte avec vos reponses que le script qu'on m'a filé n'etait pas adapté a systemd.

Du coup j'ai cherché vite fais, et en fait j'ai absolument plus besoin de mon script rc.d pour demarrer mon service, un :

Code : Tout sélectionner

ExecStart=/bla/netsoul.sh
Suffit amplement !!

:merci: :merci: :merci:

Merci beaucoup !!!