Présentation
Les distributions Linux modernes sont livrées avec le système d'initialisation systemd qui permet aux utilisateurs de gérer les services avec le systemctl
commande.
Cependant, certains systèmes plus anciens utilisent encore System V ou Upstart. Dans ce cas, utilisez le chkconfig
commande pour répertorier, démarrer et arrêter les services, ainsi que pour activer ou désactiver les services au démarrage.
Ce guide vous montrera comment utiliser le chkconfig
commande pour contrôler les services système sous Linux.
Prérequis
- Un système exécutant System V ou Upstart.
- Accès au terminal/ligne de commande.
- Accès à un compte avec des privilèges root ou sudo.
La syntaxe de la commande chkconfig
Le chkconfig
la syntaxe de la commande ressemble à ceci :
chkconfig [options] [service] [subcommand]
La commande fonctionne seule mais peut également être utilisée avec :
- Le
--list
,--level
,--add
,--del
, et--override
options spécifiées avant le nom du service. Les options impriment les détails ou gèrent le service en question. - Le
on
,off
,reset
, ouresetpriorities
sous-commandes ajoutées après le nom du service. Les sous-commandes modifient les informations de démarrage pour le service spécifié.
Les options de la commande chkconfig
Exécuter le chkconfig
La commande sans aucune option affiche la configuration actuelle de tous les services :
Cependant, l'exécution de la commande avec différentes options et sous-commandes permet aux utilisateurs de gérer les services au lieu de simplement les répertorier. Le tableau ci-dessous montre les options et les sous-commandes utilisées avec le chkconfig
commande :
Option | Description |
---|---|
--list | Affiche tous les services et leur statut de démarrage actuel dans chaque niveau d'exécution. |
--list | sort | Trie les services par ordre alphabétique et les affiche avec leur état de démarrage actuel dans chaque niveau d'exécution. |
--list | grep on | Affiche uniquement les services en cours d'exécution et leur état de démarrage actuel dans chaque niveau d'exécution. |
--list | grep off | Affiche uniquement les services désactivés dans un ou plusieurs niveaux d'exécution et leur état de démarrage actuel dans chaque niveau d'exécution. |
--list | grep --level <levels>:on | Spécifique au niveau :imprime les services exécutés dans un niveau d'exécution particulier. |
--list | grep --level <levels>:off | Spécifique au niveau :imprime les services qui sont désactivés dans un certain niveau d'exécution. |
--list [service] | Affiche l'état d'un service particulier dans chaque niveau d'exécution. |
[service] on | Permet à un service de démarrer au démarrage du système. |
[service] off | Désactive le démarrage d'un service au démarrage du système. |
--level <levels> [service] on | Active un service particulier dans un ou plusieurs niveaux d'exécution. |
--level <levels> [service] off | Désactive un service particulier dans un ou plusieurs niveaux d'exécution. |
--add [service] | Ajoute un service au démarrage dans tous les niveaux d'exécution. |
--del [service] | Supprime un service du démarrage dans tous les niveaux d'exécution. |
[service] reset | Réinitialise les statuts marche/arrêt de tous les services. |
[service] resetpriorities | Réinitialise les priorités de démarrage/arrêt de tous les services. |
--override [service] | Reconfigure un service avec les paramètres de remplacement au lieu de la configuration par défaut. |
Exemples de commande chkconfig
Le chkconfig
command est l'outil de gestion de service ultime pour les anciens systèmes Linux. Les sections ci-dessous décrivent les chkconfig
communs exemples.
Répertorier tous les services
Pour lister tous les services, exécutez la commande sans options ou lancez :
chkconfig --list
Utilisation de --list
avec le chkconfig
La commande affiche l'état de tous les services disponibles dans tous les niveaux d'exécution. Si vous souhaitez trier les services par ordre alphabétique, utilisez le sort
choix :
chkconfig --list |sort
Le chkconfig --list
La commande fonctionne également dans RHEL 7. Cependant, la sortie affiche uniquement les services Sys V et non les services système natifs :
Répertorier tous les services activés
Pour trouver tous les services activés (dans un ou plusieurs niveaux d'exécution), exécutez la combinaison chkconfig --list
avec la commande grep :
chkconfig --list | grep on
Pour trouver tous les services désactivés (dans un ou plusieurs niveaux d'exécution), exécutez :
chkconfig --list | grep off
De plus, pour limiter la portée aux services activés/désactivés d'un niveau d'exécution particulier, utilisez :
chkconfig --list | grep --level <levels>:on
chkconfig --list | grep --level <levels>:off
Par exemple, répertoriez tous les services exécutés au niveau d'exécution 5 avec :
chkconfig --list | grep 5:on
D'autre part, pour afficher tous les services qui ne tournent pas au niveau d'exécution 5, exécutez :
chkconfig --list | grep 5 :off
Répertorier un service particulier
Pour afficher la configuration de démarrage d'un service particulier dans tous les niveaux d'exécution, exécutez chkconfig --list
et spécifiez le service.
chkconfig --list [service]
Par exemple, vérifiez l'état de ntpd service dans tous les niveaux d'exécution avec :
chkconfig --list ntpd
La sortie montre que le ntpd le service est désactivé au démarrage dans n'importe quel niveau d'exécution.
Activer un service
Activer un service pour qu'il démarre au démarrage avec le chkconfig [service] on
commande. Ensuite, confirmez que le service est activé en utilisant <strong>--list</strong>.
chkconfig [service] on
chkconfig --list [service]
Le on
l'option affecte les niveaux d'exécution 2, 3, 4 et 5 et démarre le ntpd service au démarrage sur ces niveaux d'exécution. Pour activer un service sur un ou plusieurs niveaux d'exécution uniquement, exécutez :
chkconfig --level <levels> [service] on
Par exemple, démarrez le ntpd service au troisième niveau d'exécution et vérifiez la configuration du service avec :
chkconfig --level 3 ntpd on
chkconfig --list ntpd
De même, pour activer le ntpd service dans plusieurs niveaux d'exécution en une seule fois :
chkconfig --level 235 ntpd on
chkconfig --list ntpd
Désactiver un service
Empêcher un service de démarrer au démarrage du système avec le chkconfig [service] off
commande :
chkconfig [service] off
chkconfig --list [service]
Même si le off
affecte également les niveaux d'exécution 2 à 5, les utilisateurs peuvent spécifier dans quels niveaux d'exécution désactiver un service.
Par exemple, désactivez le ntpd service uniquement au niveau d'exécution 3 et vérifiez les résultats avec :
chkconfig --level 3 ntpd off
chkconfig --list ntpd
Ajouter un service
Ajoutez un service au démarrage dans tous les niveaux d'exécution avec la commande suivante :
chkconfig --add [service]
Par exemple, utilisez le --add
option pour ajouter ntpd au démarrage dans tous les niveaux d'exécution. Ensuite, utilisez --list
pour vérifier que le service a été ajouté :
chkconfig --add ntpd
chkconfig --list ntpd
Le chkconfig
La commande ajoute et configure le service comme spécifié par les valeurs par défaut dans le script init. Par exemple, le ntpd le service est désactivé dans chaque niveau d'exécution par défaut.
Remarque : La commande ajoute un service uniquement s'il est disponible et installé. Si le service n'a pas été installé, installez d'abord son package.
Supprimer un service
Supprimer un service du démarrage dans tous les niveaux d'exécution avec le --del
choix :
chkconfig --del [service]
Le --del
L'option supprime le service du démarrage, mais le service reste dans le système. Par conséquent, pour rajouter le service au démarrage, utilisez le --add
à nouveau.
Réinitialiser la configuration du service
Pour réinitialiser l'état activé/désactivé d'un service dans tous les niveaux d'exécution, comme spécifié dans le script d'initialisation, exécutez :
chkconfig [service] reset
La sortie montre que ntpd revient à l'état désactivé par défaut dans tous les niveaux d'exécution.
Conclusion
Après avoir lu ce tutoriel, vous savez comment utiliser le chkconfig
commande pour gérer les services dans les anciennes versions de Linux.
Ensuite, apprenez à utiliser le systemctl
commande pour démarrer, arrêter et redémarrer les services Linux sur les nouvelles distributions Linux.