Lancement d'un service au démarrage [Réglé]
Cela marchait avant
Système et matériels / Installation et configuration

Antoniop Membre non connecté
-
- Voir le profil du membre Antoniop
- Inscrit le : 21/12/2011
- Groupes :
Reprise du message précédent
nic80 :
Bonjour,
Dans le script du premier post, il n' y a pas ceci:
Dans le script du premier post, il n' y a pas ceci:
Citation :
# Default-Start: 2 3 4 5 # Default-Stop: 0 1 6
Non, en fait ces lignes avait été rajoutées spécifiquement pour RPI par quelqu'un d'autre (que moi) qui avait adapté les scripts pour RPI.
Au départ, j'utilisais mmserver sous mga5, je n'avais pas eu à créer de fichier service, j'avais juste créé des liens Sxxmmserver et Kxxmmserver sur le fichier mmserver à la mano, dans le bon ordre (croissant).
Sous MGA6, j'ai créé le service comme indiqué au-dessus car j'avais des problèmes pour m'assurer que l'ordre de démarrage était bon.
Cela étant, en y regardant à nouveau, Jybz a raison, dans le fichier service cela devrait être Before squeezeboxserver et pas After, sauf que je suis à peu près sûr que Before ne marchait pas.
nic80 :
Je ne sais pas s' il ne faudrait pas le rajouter au script (même si cela a probablement déjà été testé par rapport au wiki indiqué).
Je n'ai pas testé, oui il faudrait que j'essaie.
nic80 :
Sur la Mageia 6, il y a quelque chose dans les répertoires /etc/rcx.d ?
non, et ça démarre bien !
Édité par Antoniop Le 01/01/2020 à 01h12

nic80 Membre non connecté
-
- Voir le profil du membre nic80
- Inscrit le : 06/08/2018
- Groupes :
-
Modérateur
La doc de chkconfig indique:
Citation :
SCRIPTS D'INIT
Chaque service devant être géré par chkconfig doit comporter au moins deux lignes de commentaires dans son script d'init. La première ligne indique à chkconfig dans
quels niveaux d'exécution le service doit être démarré par défaut, ainsi que ses priorités de démarrage et d'arrêt. Si le service ne doit être, par défaut, démarré
dans aucun niveau d'exécution, mettre un - à la place des niveaux d'exécution. La deuxième ligne contient la description du service et peut être sur plusieurs lignes à
condition d'utiliser le backslash (\) en fin de chaque ligne.
Par exemple, le script d'init de random comporte ces trois lignes :
# chkconfig: 2345 20 80
# description: Saves and restores system entropy pool for \
# higher quality random number generation.
Cela implique que random doit être démarré dans les niveaux 2, 3, 4 et 5, avec une priorité de démarrage de 20 et une priorité d'arrêt de 80. Vous devriez être capable
de comprendre la description. Le \ provoque la continuation de ligne. Les espaces en début de ligne sont ignorés.
Chaque service devant être géré par chkconfig doit comporter au moins deux lignes de commentaires dans son script d'init. La première ligne indique à chkconfig dans
quels niveaux d'exécution le service doit être démarré par défaut, ainsi que ses priorités de démarrage et d'arrêt. Si le service ne doit être, par défaut, démarré
dans aucun niveau d'exécution, mettre un - à la place des niveaux d'exécution. La deuxième ligne contient la description du service et peut être sur plusieurs lignes à
condition d'utiliser le backslash (\) en fin de chaque ligne.
Par exemple, le script d'init de random comporte ces trois lignes :
# chkconfig: 2345 20 80
# description: Saves and restores system entropy pool for \
# higher quality random number generation.
Cela implique que random doit être démarré dans les niveaux 2, 3, 4 et 5, avec une priorité de démarrage de 20 et une priorité d'arrêt de 80. Vous devriez être capable
de comprendre la description. Le \ provoque la continuation de ligne. Les espaces en début de ligne sont ignorés.
Donc rajouter la ligne
#chkconfig 345 20 80
ne peut pas avoir d' éffet néfaste.
et puis:
Code BASH :
file /usr/lib/systemd/systemd-sysv-install /usr/lib/systemd/systemd-sysv-install: symbolic link to ../../..//usr/sbin/chkconfig
Ca n' aide pas beaucoup, puisque l' erreur est vraiment liée à chkconfig
Édité par nic80 Le 01/01/2020 à 01h54

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
nic80 :
[...]
et puis:
Ca n' aide pas beaucoup, puisque l' erreur est vraiment liée à chkconfig
et puis:
Code BASH :
file /usr/lib/systemd/systemd-sysv-install /usr/lib/systemd/systemd-sysv-install: symbolic link to ../../..//usr/sbin/chkconfig
Ca n' aide pas beaucoup, puisque l' erreur est vraiment liée à chkconfig
Heu... Je ne vois pas ce que tu veux montrer avec ce passage.
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Antoniop Membre non connecté
-
- Voir le profil du membre Antoniop
- Inscrit le : 21/12/2011
- Groupes :
Il faut que je teste de rajouter cette ligne dans le script... (c'est sur le portable dont je me sers pour le boulot)
Édité par Antoniop Le 01/01/2020 à 12h18

nic80 Membre non connecté
-
- Voir le profil du membre nic80
- Inscrit le : 06/08/2018
- Groupes :
-
Modérateur
@Jybz: ici c' est chkconfig qui est appellé, donc c' est sur lui qu' il faut travailler...

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Code BASH :
#!/bin/sh ### BEGIN INIT INFO # Provides: mmserver # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start MusicIP daemon at boot time # Description: Enable service provided by daemon. ### END INIT INFO # NON-PRIVIELEGED USER TO RUN MUSICMAGICSERVER. USER=lapin # PATH TO THE MUSICMAGICMIXERSERVER MUSICHOME="/home/${USER}/progs/MusicIP" case ${1} in start) su - ${USER} -c "${MUSICHOME}/MusicMagicServer start 1>/dev/null &" echo "Running MusicMagicServer" exit 0 ;; stop) su - ${USER} -c "${MUSICHOME}/MusicMagicServer stop 1>/dev/null &" echo "Stopped MusicMagicServer" exit 0 ;; status) if $(pgrep -f MusicMagicServer 1>/dev/null) ; then echo "MusicIP Server is running" else echo "MusicIP Server is stopped" fi exit 0 ;; *) echo "Usage: $(readlink -f ${0}) { start | stop }" exit 1 ;; esac
Tu peux toujours le proposer, le faire remonter.
Édité par Jybz Le 01/01/2020 à 13h07
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Code TEXT :
$ cat /etc/rc2.d/S02mmserver [...] echo "Usage: /etc/rc.d/init.d/mmserver { start | stop }" [...]
/rc2.d/S02mmserver contre /rc.d/init.d/mmserver
Enfin, si ça marche...
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Antoniop Membre non connecté
-
- Voir le profil du membre Antoniop
- Inscrit le : 21/12/2011
- Groupes :
/etc/init.d/mmserver
cela donne cela :
Code BASH :
#!/bin/sh ### BEGIN INIT INFO # Provides: mmserver # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start MusicIP daemon at boot time # Description: Enable service provided by daemon. ### END INIT INFO # NON-PRIVIELEGED USER TO RUN MUSICMAGICSERVER. USER=antonio # PATH TO THE MUSICMAGICMIXERSERVER export MUSICHOME=/home/$USER/progs/MusicIP case $1 in start) su - $USER -c "${MUSICHOME}/MusicMagicServer start & >/dev/null" echo "Running MusicMagicServer" exit ;; stop) su - $USER -c "${MUSICHOME}/MusicMagicServer stop & >/dev/null" echo "Stopped MusicMagicServer" exit ;; *) echo "Usage: /etc/rc.d/init.d/mmserver { start | stop }" exit ;; esac
J'ai supprimé le fichier service, au cas où.
puis j'ai tapé :
Code BASH :
$ sudo systemctl enable mmserver.service mmserver.service is not a native service, redirecting to systemd-sysv-install. Executing: /usr/lib/systemd/systemd-sysv-install enable mmserver
en faisant un find, je vois qu'il a créé des fichiers de start et stop :
Code BASH :
$ find /etc/ -name "*mmserver*" 2>/dev/null /etc/rc.d/rc3.d/S50mmserver /etc/rc.d/init.d/mmserver /etc/rc.d/rc4.d/S50mmserver /etc/rc.d/rc5.d/S50mmserver /etc/rc.d/rc2.d/S50mmserver /etc/rc.d/rc1.d/K50mmserver /etc/rc.d/rc0.d/K50mmserver /etc/rc.d/rc6.d/K50mmserver
Et là ça marche bien !
Mais je vois que les fichiers S50mmserver et K50mmserver sont des copies (et non des liens) du fichier mmserver.
C'est résolu !
Merci pour votre aide !
et..... très bonne année à tous !!




Édité par Antoniop Le 01/01/2020 à 20h18

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
En fait, le fichier .service a été utilisé par chkconfig qui a lu dans quels niveaux d'exécution il devait être lancé, puis a dupliqué le script dans les sous répertoires adéquats.
Merci nic80 et Antoniop !
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Antoniop Membre non connecté
-
- Voir le profil du membre Antoniop
- Inscrit le : 21/12/2011
- Groupes :
Jybz :
Ahhh c'est bon je comprends !
En fait, le fichier .service a été utilisé par chkconfig qui a lu dans quels niveaux d'exécution il devait être lancé, puis a dupliqué le script dans les sous répertoires adéquats.
Merci nic80 et Antoniop !
En fait, le fichier .service a été utilisé par chkconfig qui a lu dans quels niveaux d'exécution il devait être lancé, puis a dupliqué le script dans les sous répertoires adéquats.
Merci nic80 et Antoniop !
Pas tout à fait, j'ai supprimé le fichier service avant de fait le enable, justement pour voir ce qu'il se passerait.
Il a dupliqué le script dans les répertoires à partir des lignes :
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
et il a aussi créé un fichier service :
Code BASH :
$ cat /run/systemd/generator.late/graphical.target.wants/mmserver.service # Automatically generated by systemd-sysv-generator [Unit] Documentation=man:systemd-sysv-generator(8) SourcePath=/etc/rc.d/init.d/mmserver Description=LSB: Start MusicIP daemon at boot time Before=multi-user.target Before=multi-user.target Before=multi-user.target Before=graphical.target After=remote-fs.target [Service] Type=forking Restart=no TimeoutSec=5min IgnoreSIGPIPE=no KillMode=process GuessMainPID=no RemainAfterExit=yes SuccessExitStatus=5 6 ExecStart=/etc/rc.d/init.d/mmserver start ExecStop=/etc/rc.d/init.d/mmserver stop
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie