#1 Le 02/05/2015, à 14:07
- Syrion
Exécuter un service init.d avec systemd
Bonjour,
j'ai uns script init.d pour gérer un serveur minecraft (forké de https://github.com/Ahtenus/minecraft-init) et un service Upstart qui lance un serveur Play 1.2.x pour gérer un mini-site et l'affichage de la carte du monde.
Depuis le passage à Ubuntu 15.04, ces deux services ne se lancent plus.
Pour le script upstart, je vais le convertir en systemd.
Mais pour le script init.d, la doc semble dire que systemd est compatible et qu'il va les lancer (ou au moins que
service nom-du-service start
marchera encore.
Malheureusement, systemd persiste à me dire :
Failed to start minecraft.service: Unit minecraft.service failed to load: No such file or directory.
Que faut-il faire pour faire fonctionner un script init.d que je ne veux pas convertir ? (en tous cas pas maintenant car il est trop gros, beaucoup de commandes)
Dernière modification par Syrion (Le 02/05/2015, à 14:07)
Ubuntu 24.04.4 amd64 sur Dell XPS 7590 15"
Ubuntu Server 24.04.4 Eeepc 1215P
Ubuntu 24.10 sur Ryzen 5 5600X, 32Go DDR4-3600, NVidia RTX 3060Ti
Hors ligne
#2 Le 02/05/2015, à 14:25
- Gaara
Re : Exécuter un service init.d avec systemd
Salut,
Tu peux regarder quels services tu peux démarrer avec systemd:
systemctl list-unit-files
ensuite, pour démarrer un service
systemctl start <nom-du-service>.service
pour le stopper
systemctl stop <nom-du-service>.service
tu as aussi restart, statut, enable, disable...
Pour voir l'ensemble des services activés:
systemctl status
etc
Dernière modification par Gaara (Le 02/05/2015, à 14:26)
Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid
<code>zenity --question --title "Alert" --text "Microsoft Windows has been found! Would you like to remove it?"</code>
Hors ligne
#3 Le 03/05/2015, à 00:14
- Syrion
Re : Exécuter un service init.d avec systemd
Justement
systemctl list-unit-files
ne me liste pas minecraft alors qu'il marchait en 14.10 et qu'il n'a pas bougé de /etc/init.d :
lrwxrwxrwx 1 root root 32 avril 28 22:34 [1] /etc/init.d/minecraft -> /home/mcuser/server/minecraft
Dernière modification par Syrion (Le 03/05/2015, à 00:15)
Ubuntu 24.04.4 amd64 sur Dell XPS 7590 15"
Ubuntu Server 24.04.4 Eeepc 1215P
Ubuntu 24.10 sur Ryzen 5 5600X, 32Go DDR4-3600, NVidia RTX 3060Ti
Hors ligne
#4 Le 03/05/2015, à 09:09
- Gaara
Re : Exécuter un service init.d avec systemd
Tu as essayé ça ?
systemctl enable minecraft.service
Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid
<code>zenity --question --title "Alert" --text "Microsoft Windows has been found! Would you like to remove it?"</code>
Hors ligne
#5 Le 03/05/2015, à 10:29
- Gaara
Re : Exécuter un service init.d avec systemd
Si ça ne fonctionne pas il faut le créer.
1) Crée un script pour lancer ton serveur minecraft, tu le mets ou tu veux, puis rends le exécutable
2) Crée un service dans /etc/systemd/system/ nommé minecraft.service par ex
(regarde une piste ici, car je ne sais pas trop comment faire)
Mais je sais qu'il faut dans ce fichier:
[Unit]
Description=description du service
[Service]
User=syrion
Environment=DISPLAY=:0 # si c'est une application graphique, ou les variables d'env en général
ExecStartPre= commande lancée avant (si besoin)
ExecStart=/chemin/de/ton/script, ou directement une ligne de commande
ExecStop= commande pour stopper le service
[Install]
WantedBy= # les services qui sont dépendants de ce service
3) Ensuite, il faut activer le service avec la commande du post #4
Bon courage XD
Dernière modification par Gaara (Le 03/05/2015, à 10:34)
Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid
<code>zenity --question --title "Alert" --text "Microsoft Windows has been found! Would you like to remove it?"</code>
Hors ligne
#6 Le 03/05/2015, à 12:25
- Syrion
Re : Exécuter un service init.d avec systemd
Merci Gaara pour ces indications, mais l'objet n'est pas de créer un script de démarrage pour Minecraft à transformer en en service systemd, mais comme écrit plus haut 1) de comprendre pourquoi un script ini.d existant et qui fonctionnait, ne fonctionne plus, et 2) de le faire fonctionner dans systemd qui prétend être compatible et pouvoir faire démarrer les ini.d (contrairement aux upstart qu'il faut convertir).
Mon script ini.d Minecraft est un script init.d avec commandes start/stop/restart mais si beaucoup d'autres. C'est pour ça que je cherche à le faire fonctionner comme garanti par systemd qui permet dans ce cas de continuer à l'appeler avec service (ou indifféremment avec systemctl).
Ubuntu 24.04.4 amd64 sur Dell XPS 7590 15"
Ubuntu Server 24.04.4 Eeepc 1215P
Ubuntu 24.10 sur Ryzen 5 5600X, 32Go DDR4-3600, NVidia RTX 3060Ti
Hors ligne
#7 Le 03/05/2015, à 12:49
- Gaara
Re : Exécuter un service init.d avec systemd
Oui c'est vrai tu as raison, normalement init.d est pris en charge par systemd.
Ben là je ne sais pas... Je passe la main
Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid
<code>zenity --question --title "Alert" --text "Microsoft Windows has been found! Would you like to remove it?"</code>
Hors ligne
#8 Le 03/05/2015, à 16:00
- Syrion
Re : Exécuter un service init.d avec systemd
Pour info,
systemctl enable minecraft.service
me donne :
Synchronizing state for minecraft.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d minecraft defaults
insserv: fopen(K01minecraft): Permission denied
update-rc.d: error: insserv rejected the script header
Et avec un sudo, ce n'est guerre mieux :
Synchronizing state for minecraft.service with sysvinit using update-rc.d...
Executing /usr/sbin/update-rc.d minecraft defaults
Executing /usr/sbin/update-rc.d minecraft enable
Failed to execute operation: No such file or directory
Dernière modification par Syrion (Le 03/05/2015, à 16:09)
Ubuntu 24.04.4 amd64 sur Dell XPS 7590 15"
Ubuntu Server 24.04.4 Eeepc 1215P
Ubuntu 24.10 sur Ryzen 5 5600X, 32Go DDR4-3600, NVidia RTX 3060Ti
Hors ligne
#9 Le 03/05/2015, à 16:11
- Gaara
Re : Exécuter un service init.d avec systemd
C'est pas le header, enfin je pense pas, c'est plutot la ligne du dessus: Permission denied
Le service a été créé, mais il faut le modifier. (user, var d'environnement ptet)
Que renvoie
ls -a /etc/systemd/system
Edit: de toutes façons systemctl demande le mot de passe, qu'il y ait sudo ou pas
et donne aussi
ls -a /etc/systemd/user
En fait il faut chercher minecraft.service, ou son équivalent. (ça peut-être un lien symbolique)
Dernière modification par Gaara (Le 03/05/2015, à 16:17)
Kubuntu 18.04 x64
Un terminal tactile Raspberry Pi et Odroid
<code>zenity --question --title "Alert" --text "Microsoft Windows has been found! Would you like to remove it?"</code>
Hors ligne
#10 Le 17/05/2015, à 19:40
- Syrion
Re : Exécuter un service init.d avec systemd
C'est pas le header, enfin je pense pas, c'est plutot la ligne du dessus: Permission denied
Le service a été créé, mais il faut le modifier. (user, var d'environnement ptet)
Que renvoiels -a /etc/systemd/system
. display-manager.service network-online.target.wants shutdown.target.wants
.. display-manager.service.wants paths.target.wants sockets.target.wants
bluetooth.target.wants getty.target.wants plymouth-log.service sshd.service
dbus-org.bluez.service graphical.target.wants plymouth.service suspend.target.wants
dbus-org.freedesktop.Avahi.service halt.target.wants portmap.service sysinit.target.wants
dbus-org.freedesktop.ModemManager1.service hibernate.target.wants poweroff.target.wants syslog.service
dbus-org.freedesktop.nm-dispatcher.service hybrid-sleep.target.wants printer.target.wants
dbus-org.freedesktop.thermald.service kexec.target.wants reboot.target.wants
default.target.wants multi-user.target.wants remote-fs.target.wants
Edit: de toutes façons systemctl demande le mot de passe, qu'il y ait sudo ou pas
et donne aussils -a /etc/systemd/user
En fait il faut chercher minecraft.service, ou son équivalent. (ça peut-être un lien symbolique)
Cette dernière commande ne donne rien.
Encore une fois, "minecraft", le service init.d est bien présent dans le dossier /etc/init.d à travers un lien symbolique vers /home/minecraft/server/minecraft.
Donc je ne sais pas ce qu'il manque.
Ubuntu 24.04.4 amd64 sur Dell XPS 7590 15"
Ubuntu Server 24.04.4 Eeepc 1215P
Ubuntu 24.10 sur Ryzen 5 5600X, 32Go DDR4-3600, NVidia RTX 3060Ti
Hors ligne