Gestion du système avec systemd
Explique le rôle de systemd dans Oracle Linux et comment sa configuration et ses unités façonnent le démarrage du système.
systemd est l'initialisation du système et le gestionnaire de services dans Oracle Linux.
Le démon systemd est le premier processus qui démarre après l'initialisation d'un système. Il s'agit du processus final en cours d'exécution lors de l'arrêt du système. systemd contrôle les étapes finales de l'initialisation et prépare le système à l'utilisation. Il accélère également l'initialisation en chargeant simultanément les services.
Reportez-vous à Utilisation de Systemd sur Oracle Linux pour un tutoriel pratique et des démonstrations vidéo sur l'utilisation de systemd dans Oracle Linux.
Pour plus d'informations sur l'initialisation du système, reportez-vous à la section Managing Kernels and System Boot on Oracle Linux.
Configuration systemd
systemd lit sa configuration à partir des fichiers des répertoires suivants, par ordre de priorité :
-
$HOME/.config/systemd/: entrées de configuration systemd propres à l'utilisateur. -
/etc/systemd/: personnalisation de la configuration système à l'échelle du système. -
/run/systemd/: configuration systemd d'exécution. -
/usr/lib/systemd: configuration systemd de base fournie par les packages.
La personnalisation de la configuration systemd est stockée dans le répertoire /etc/systemd. Par exemple, vous pouvez copier le fichier /usr/lib/systemd/system.conf dans le fichier /etc/systemd/system.conf et le modifier pour contrôler la façon dont systemd gère l'initialisation du système.
Le démon systemd démarre les services pendant le processus d'initialisation en lisant le lien symbolique /etc/systemd/system/default.target.
L'exemple suivant montre la valeur de /etc/systemd/system/default.target sur un système configuré pour s'initialiser en mode multiutilisateur sans interface utilisateur graphique, une cible appelée multi-user.target :
sudo ls -l /etc/systemd/system/default.target
/etc/systemd/system/default.target -> /usr/lib/systemd/system/multi-user.target
Vous pouvez utiliser un paramètre d'initialisation du noyau pour remplacer la cible système par défaut. Reportez-vous aux sections Changing Kernel Boot Parameters Before Booting et Using grubby to Manage Kernels.
Unités systemd
Présentation des principaux types d'unités systemd, de leur liste et de l'emplacement de leurs fichiers de configuration.
systemd organise les différents types de ressource qu'il gère en unités.
La plupart des unités sont configurées dans des fichiers de configuration d'unité qui vous permettent de configurer ces unités en fonction des besoins du système. Outre les fichiers, vous pouvez également utiliser les commandes d'exécution systemd pour configurer les unités.
Pour afficher tous les types d'unités disponibles dans systemd, utilisez la commande suivante :
sudo systemctl -t help
Available unit types:
service
mount
swap
socket
target
device
automount
timer
path
slice
scope
La liste suivante décrit certaines unités système que vous pouvez gérer sur un système Oracle Linux à l'aide de systemd :
- Services
- Les fichiers de configuration d'unité de service ont le format de nom de fichier service_name.
service, par exemplesshd.service,crond.serviceethttpd.service.Les unités de service démarrent et contrôlent les démons et les processus dont ils sont constitués.
L'exemple suivant montre comment démarrer l'unité de service
systemdpour le serveur Apache HTTP,httpd.service:sudo systemctl start httpd.servicePour plus d'informations, reportez-vous à Service Management dans Systemd.
- Cibles
- Les fichiers de configuration d'unité cible ont le format de nom de fichier target_name.
target, par exemplegraphical.target.Les cibles sont similaires aux niveaux d'exécution. Un système atteint différentes cibles au cours du processus d'initialisation à mesure que les ressources sont configurées. Par exemple, un système atteint
network-pre.targetavant d'atteindre la ciblenetwork-online.target.De nombreuses unités cible ont des dépendances. Par exemple, l'activation de
graphical.target(pour une session graphique) échoue, sauf simulti-user.target(pour un système multiutilisateur) est également actif.Pour plus d'informations, reportez-vous à Cibles système.
- Points de montage du système de fichiers
- Les fichiers de configuration d'unité de montage ont le format de nom de fichier mount_point_name.
mount.Les unités de montage vous permettent de monter des systèmes de fichiers au moment de l'initialisation. Par exemple, vous pouvez exécuter la commande suivante pour monter le système de fichiers temporaire (tmpfs) sur/tmpau moment de l'initialisation :sudo systemctl enable tmp.mount - Périphériques
- Les fichiers de configuration d'unité de périphérique ont le format de nom de fichier device_unit_name.
device.Les unités de périphérique sont nommées d'après les chemins
/syset/devqu'elles contrôlent. Par exemple, le périphérique/dev/sda5est exposé dans systemd en tant quedev-sda5.device.Les unités de périphérique vous permettent d'implémenter l'activation basée sur les périphériques.
- Sockets
- Les fichiers de configuration d'unité de socket ont le format de nom de fichier socket_unit_name.
socket.Chaque fichier "*.
socket" a besoin d'un fichier "*.service" correspondant pour configurer le service afin qu'il démarre sur le trafic entrant sur le socket.Les unités de socket vous permettent d'implémenter l'activation basée sur socket.
- Horloges
Les fichiers de configuration d'unité d'horloge ont le format de nom de fichier timer_unit_name.
Chaque fichier "*.timer.timer" a besoin d'un fichier "*.service" correspondant pour configurer le service afin qu'il démarre à un événement d'horloge configuré. Une entrée de configurationUnitpeut être utilisée pour spécifier un service nommé différemment de l'unité d'horloge, si nécessaire.Les unités de minuterie peuvent contrôler le moment où les unités de service sont exécutées et peuvent agir comme une alternative à l'utilisation du démon cron. Les unités de minuterie peuvent être configurées pour les événements de temps du calendrier, les événements de temps monotones et peuvent être exécutées de manière asynchrone.
Pour plus d'informations, reportez-vous à Utilisation des minuteries dans Systemd.
Les chemins vers les fichiers de configuration d'unité systemd varient en fonction de leur fonction et de l'exécution de systemd en mode 'utilisateur' ou 'système'.
Par exemple, la configuration des unités installées à partir de packages peut être disponible dans /usr/lib/systemd/system ou dans /usr/local/lib/systemd/system, tandis qu'une unité de configuration en mode utilisateur est susceptible d'être stockée dans $HOME/.config/systemd/user. Pour plus d'informations, reportez-vous à la page du manuel systemd.unit(5).