« LINUX:Systemd » : différence entre les versions

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 5 : Ligne 5 :


=Localisation=
=Localisation=
Tous les configurations des services installés se trouvent dans le répertoire "/usr/lib/systemd". La majorité des services qui nous concernent se retrouvent dans le sous-répertoire "system".
Toutes les configurations des services installés se trouvent dans le répertoire "/usr/lib/systemd". La majorité des services qui nous concernent se retrouvent dans le sous-répertoire "system".


Si on désire créer son propre service, il suffit de le placer dans le répertoire "/usr/lib/systemd/system".
Si on désire créer son propre service, il suffit de le placer dans le répertoire "/usr/lib/systemd/system".
Pour que ce nouveau service soit directement pris en charge, il faut introduire la commande:
Pour que ce nouveau service soit directement pris en charge, il faut recharger la configuration par la commande:
  systemctl daemon-reload
  systemctl daemon-reload


Ligne 15 : Ligne 15 :
Pour activer un service, on utilise la commande:
Pour activer un service, on utilise la commande:
  systemctl enable <NOM DU SERVICE>
  systemctl enable <NOM DU SERVICE>
Cette commande crée un lien symbolique à partir du fichier d'origine et le place dans un des sous-répertoires du répertoire "/etc/systemd/system" souvent "multi-user.target.wants". Il peut créer plusieurs liens si nécessaire.
Cette commande crée un lien symbolique à partir du fichier d'origine et le place dans un des sous-répertoires du répertoire "/etc/systemd/system" souvent "multi-user.target.wants". Elle peut créer plusieurs liens si nécessaire.


Dès lors il se lancera au démarrage de la machine.
Dès lors il se lancera au démarrage de la machine.
Ligne 37 : Ligne 37 :
Pour voir l'état du service:
Pour voir l'état du service:
  systemctl status <NOM DU SERVICE>
  systemctl status <NOM DU SERVICE>
Si le problème est plus grave, utilisez la commande suivante quyi vous donnera plus de détails; souvent la ligne du fichier de configuration concernée par le blocage sera signalée.  
Elle permet de constater certains problèmes.
 
Si le problème est plus grave, utilisez la commande suivante qui vous donnera plus de détails; souvent la ligne du fichier de configuration concernée par le blocage sera signalée.  
  journalctl -xeu <NOM DU SERVICE>
  journalctl -xeu <NOM DU SERVICE>


Ligne 46 : Ligne 48 :
Vous constaterez dans le fichier "/var/log/messages" un message du genre suivant:
Vous constaterez dans le fichier "/var/log/messages" un message du genre suivant:
  Feb  7 22:57:57 serveurXXX systemd[1]: XXXXXX.service: Failed with result ''' 'timeout' '''.
  Feb  7 22:57:57 serveurXXX systemd[1]: XXXXXX.service: Failed with result ''' 'timeout' '''.
Ceci m'est arrivé deux fois sur une vielle machine devant lancer de très nombreux services. Certains très gourmands et longs à lancer n'ont pas pu démarrer dans les temps.
Ceci m'est arrivé deux fois sur une vieille machine devant lancer de très nombreux services. Certains très gourmands et longs à lancer n'ont pas pu démarrer dans les temps.


On peut y remédier en ajoutant une ligne dans la configuration générale du système de "systemd".
On peut y remédier en ajoutant une ligne dans la configuration générale du système de "systemd".
On allonge ce temps limite de démarrage des services. Pour cela, on ajoute ou on adapte la ligne suivante dans le fichier "'''/etc/systemd/system.conf'''":
On allonge ce temps limite de démarrage des services. Pour cela, on ajoute ou on adapte la ligne suivante dans le fichier "'''/etc/systemd/system.conf'''":
----
----
  DefaultTimeoutStartSec=5min
  DefaultTimeoutStartSec=3min
----
----
Dans cet exemple, on le met à 5 minutes (défaut: 90 sec.).
Dans cet exemple, on le met à 3 minutes (défaut: 90 sec.). A ajuster selon les cas.




=<nowiki><ALT><CTRL><DEL></nowiki>=
=<nowiki><ALT><CTRL><DEL></nowiki>=
Dans ce même fichier "'''/etc/systemd/system.conf'''", il peut être utile de ne pas pouvoir redémarrer la machine par la séquence de touches <ALT><CTRL><DEL> bien connue sous Windows mais qui fait tout autre chose, par un ajout de la ligne:
Dans ce même fichier "'''/etc/systemd/system.conf'''", il peut être utile de ne pas pouvoir redémarrer la machine par la séquence de touches <nowiki><ALT><CTRL><DEL></nowiki> bien connue sous Windows mais qui fait tout autre chose, par l'ajout de la ligne:
----
----
  CtrlAltDelBurstAction=none
  CtrlAltDelBurstAction=none
----
----
L'utilisation de ces touches sur un serveur peut être perturbant.
L'utilisation de ces touches sur un serveur peut être perturbant si pas non approprié; vous n'êtes sûrement le seul à l'utiliser.





Version du 11 février 2022 à 19:36

But

"Systemd" est le gestionnaire actuel des services sous Fedora.


Localisation

Toutes les configurations des services installés se trouvent dans le répertoire "/usr/lib/systemd". La majorité des services qui nous concernent se retrouvent dans le sous-répertoire "system".

Si on désire créer son propre service, il suffit de le placer dans le répertoire "/usr/lib/systemd/system". Pour que ce nouveau service soit directement pris en charge, il faut recharger la configuration par la commande:

systemctl daemon-reload


Activation

Pour activer un service, on utilise la commande:

systemctl enable <NOM DU SERVICE>

Cette commande crée un lien symbolique à partir du fichier d'origine et le place dans un des sous-répertoires du répertoire "/etc/systemd/system" souvent "multi-user.target.wants". Elle peut créer plusieurs liens si nécessaire.

Dès lors il se lancera au démarrage de la machine.

Pour désactiver un service, la commande suivante élimine ce lien:

systemctl disable <NOM DU SERVICE>

Attention: certains services ont plusieurs liens; la commande ci-dessus les éliminera tous.


Lancer

Quelques commandes pour gérer le service:

  • Pour lancer le service:
systemctl start <NOM DU SERVICE>
  • Pour relancer le service:
systemctl restart <NOM DU SERVICE>
  • Pour arrêter le service:
systemctl stop <NOM DU SERVICE>


Statut

Pour voir l'état du service:

systemctl status <NOM DU SERVICE>

Elle permet de constater certains problèmes.

Si le problème est plus grave, utilisez la commande suivante qui vous donnera plus de détails; souvent la ligne du fichier de configuration concernée par le blocage sera signalée.

journalctl -xeu <NOM DU SERVICE>


Timeout

Il peut arriver qu'au démarrage de la machine certains services ne puissent pas démarrer dans les temps.

Vous constaterez dans le fichier "/var/log/messages" un message du genre suivant:

Feb  7 22:57:57 serveurXXX systemd[1]: XXXXXX.service: Failed with result  'timeout' .

Ceci m'est arrivé deux fois sur une vieille machine devant lancer de très nombreux services. Certains très gourmands et longs à lancer n'ont pas pu démarrer dans les temps.

On peut y remédier en ajoutant une ligne dans la configuration générale du système de "systemd". On allonge ce temps limite de démarrage des services. Pour cela, on ajoute ou on adapte la ligne suivante dans le fichier "/etc/systemd/system.conf":


DefaultTimeoutStartSec=3min

Dans cet exemple, on le met à 3 minutes (défaut: 90 sec.). A ajuster selon les cas.


<ALT><CTRL><DEL>

Dans ce même fichier "/etc/systemd/system.conf", il peut être utile de ne pas pouvoir redémarrer la machine par la séquence de touches <ALT><CTRL><DEL> bien connue sous Windows mais qui fait tout autre chose, par l'ajout de la ligne:


CtrlAltDelBurstAction=none

L'utilisation de ces touches sur un serveur peut être perturbant si pas non approprié; vous n'êtes sûrement le seul à l'utiliser.




->retour au menu de Linux