[systemd] : problème de configuration de service (résolu)

Questions et astuces concernant l'installation et la configuration d'archlinux
cyril.m.85
Hankyu
Messages : 24
Inscription : mer. 01 déc. 2010, 15:10

[systemd] : problème de configuration de service (résolu)

Message par cyril.m.85 »

Bonjour,

Depuis une mise à jour de systemd que j'ai installé hier, un service pour lequel j'avais écrit le fichier de configuration il y a quelques mois n'est plus administrable via la commande systemctl (il s'agit d'un serveur Minecraft). Voici le fichier de conf, je m'étais appuyé sur un exemple trouvé sur Internet, que j'avais adapté comme j'avais pu mais qui n'est peut-être pas propre :

Code : Tout sélectionner

[Unit]
Description=Minecraft Server
Documentation=

Wants=network.target
After=network.target

[Service]
User=minecraft
Group=minecraft
Nice=5
EnvironmentFile=-/var/minecraft/unit.conf
KillMode=none
SuccessExitStatus=1 0

ProtectHome=true
ProtectSystem=full
PrivateDevices=true
NoNewPrivileges=true
PrivateTmp=true
InaccessibleDirectories=/root /sys /srv -/opt /media -/lost+found
ReadWriteDirectories=/var/minecraft/server
WorkingDirectory=/var/minecraft/server
ExecStart=/usr/bin/java -Xmx1536M -Xms1536M -jar spigot.jar --noconsole
ExecStop=/usr/bin/mcrcon -H localhost -P xxxxx -p xxxxx stop

[Install]
WantedBy=multi-user.target
Ce service fonctionnait parfaitement depuis quelques mois, et depuis la mise à jour d'hier je rencontre ces erreurs :

Code : Tout sélectionner

[cyril@vps261719 system]$ sudo systemctl status minecraft
● minecraft.service - Minecraft Server
   Loaded: loaded (/etc/systemd/system/minecraft.service; disabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since mar. 2016-08-02 10:30:40 CEST; 59s ago
  Process: 2751 ExecStop=/usr/bin/mcrcon -H localhost -P xxxxx -p xxxxxx stop (code=exited, status=226/NAMESPACE)
  Process: 2749 ExecStart=/usr/bin/java -Xmx1536M -Xms1536M -jar spigot.jar --noconsole (code=exited, status=226/NAMESPACE)
 Main PID: 2749 (code=exited, status=226/NAMESPACE)

août 02 10:30:40 vps261719.ovh.net systemd[1]: Started Minecraft Server.
août 02 10:30:40 vps261719.ovh.net systemd[1]: minecraft.service: Main process exited, code=exited, status=226/NAMESPACE
août 02 10:30:40 vps261719.ovh.net systemd[2751]: minecraft.service: Failed at step NAMESPACE spawning /usr/bin/mcrcon: No such file or directory
août 02 10:30:40 vps261719.ovh.net systemd[1]: minecraft.service: Control process exited, code=exited status=226
août 02 10:30:40 vps261719.ovh.net systemd[1]: minecraft.service: Unit entered failed state.
août 02 10:30:40 vps261719.ovh.net systemd[1]: minecraft.service: Failed with result 'exit-code'.
J'ai essayé de remplacer le lien symbolique /usr/bin/java par le chemin ciblé mais cela ne fonctionne pas mieux.
Mon paquet systemd est en version 231-1.

Merci pour votre aide.
Dernière modification par cyril.m.85 le jeu. 04 août 2016, 15:02, modifié 3 fois.
oktoberfest
Maître du Kyudo
Messages : 1855
Inscription : mer. 06 janv. 2010, 13:51
Localisation : Ried - Alsace - France

Re: [systemd] : problème de configuration de service

Message par oktoberfest »

Salut,

on va déjà commencer par résoudre un premier problème :

Code : Tout sélectionner

août 02 10:30:40 vps261719.ovh.net systemd[2751]: minecraft.service: Failed at step NAMESPACE spawning /usr/bin/mcrcon: No such file or directory
Il te manque donc mcrcon, disponible sur AUR.

Question subsidiaire : si le contenu de ta ligne ExecStart, tu la lances dans un shell, est-ce que tout se déroule bien ?
La majorité des bugs se situe entre la chaise et le clavier...
Arrêtez de vous prendre la tête avec les partitions... passez au LVM
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17230
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [systemd] : problème de configuration de service

Message par benjarobin »

Supprime temporairement l'option InaccessibleDirectories et essaye. Si cela marche, il faudra creuser de ce coté. Il faut savoir que cette option a été renommé, elle n'est plus documentée sous ce nom
Zsh | KDE | PC fixe : core i7, carte nvidia
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
cyril.m.85
Hankyu
Messages : 24
Inscription : mer. 01 déc. 2010, 15:10

Re: [systemd] : problème de configuration de service

Message par cyril.m.85 »

Merci à vous deux pour votre aide.

mcrcon est bien présent et opérationnel (installé depuis AUR il y a plusieurs mois, pas de problème jusqu'ici) :

Code : Tout sélectionner

[cyril@vps261719 ~]$ which mcrcon
/usr/bin/mcrcon
[cyril@vps261719 ~]$ mcrcon list
There are 0/5 players online:
(n.b : la commande mcrcon ne fonctionne pas ainsi, je me suis fait un alias pour me simplifier l'utilisation)

Ma ligne de commande ExecStart s'exécute correctement lorsque je la lance manuellement depuis un terminal :

Code : Tout sélectionner

[minecraft@vps261719 server]$ /usr/bin/java -Xmx1536M -Xms1536M -jar spigot.jar --noconsole
Loading libraries, please wait...
[15:11:37 INFO]: Starting minecraft server version 1.10
[15:11:37 INFO]: Loading properties
...
[15:11:45 INFO]: Done (7,486s)! For help, type "help" or "?"
[15:11:45 INFO]: Starting remote control listener
[15:11:45 INFO]: RCON running on 0.0.0.0:25575
Ma ligne ExecStop s'exécute correctement aussi :

Code : Tout sélectionner

[cyril@vps261719 ~]$ /usr/bin/mcrcon -H localhost -P xxxxx -p xxxxxx stop
Stopping the server
Après avoir commenté l'option InaccessibleDirectories, le service est de nouveau administrable sans problème : les commandes d'arrêt, de démarrage fonctionnent de nouveau. Ouf !
Maintenant je ne mesure pas vraiment l'impact de ne plus utiliser cette option, je suppose que cela peut présenter une faille de sécurité, je vais essayer de me documenter sur la nouvelle façon de l'utiliser mais en attendant grâce à vous je peux remettre mon serveur en ligne.
Répondre