Gérer le 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 le gestionnaire d'initialisation et de service du système dans Oracle Linux.
Le démon systemd est le premier processus qui commence après le démarrage d'un système et qui est le processus final en cours d'exécution lorsque le système s'arrête. systemd contrôle les dernières étapes du démarrage et prépare l'utilisation du système. Il accélère également le démarrage en chargeant les services simultanément.
Voir Utiliser 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 le démarrage du système, voir Gestion des noyaux et du démarrage du système sur 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 spécifiques à l'utilisateur. -
/etc/systemd/: Personnalisation de la configuration système à l'échelle du système. -
/run/systemd/: Configuration système d'exécution. -
/usr/lib/systemd: Configuration système de base fournie par les ensembles.
La personnalisation de la configuration systemd est stockée dans le répertoire /etc/systemd. Par exemple, vous pouvez copier /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 de démarrage 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 démarrer vers un 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 de démarrage du noyau pour remplacer la cible système par défaut. Voir Modification des paramètres de démarrage du noyau avant le démarrage et Utilisation de grubby pour gérer les noyaux.
Unités systemd
Présente les principaux types d'unité système, comment les répertorier et où vivent 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. En plus des 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 de 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 qui les composent.
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, voir Service Management dans Systemd.
- Cible
- 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 de démarrage lorsque les ressources sont configurées. Par exemple, un système atteint
network-pre.targetavant d'atteindre la ciblenetwork-online.target.De nombreuses unités cibles 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, voir 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 démarrage. Par exemple, vous pouvez exécuter la commande suivante pour monter le système de fichiers temporaire (tmpfs) sur/tmpau moment du démarrage :sudo systemctl enable tmp.mount - périphériques
- Les fichiers de configuration d'unité d'appareil ont le format de nom de fichier device_unit_name.
device.Les unités de périphérique portent le nom des 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 d'appareil vous permettent de mettre en oeuvre l'activation basée sur l'appareil.
- Connecteurs logiciels
- Les fichiers de configuration des unités de connecteur logiciel ont le format de nom de fichier socket_unit_name.
socket.Chaque fichier "*.
socket" nécessite un fichier "*.service" correspondant pour configurer le service afin qu'il démarre sur le trafic entrant sur le connecteur logiciel.Les unités de prise vous permettent d'implémenter une activation basée sur une prise.
- Minuteries
Les fichiers de configuration d'unité de temporisateur ont le format de nom de fichier timer_unit_name.
Chaque fichier "*.timer.timer" nécessite un fichier "*.service" correspondant pour configurer le service pour qu'il démarre à un événement de minuterie configuré. Une entrée de configurationUnitpeut être utilisée pour spécifier un service nommé différemment de l'unité de temporisateur, si nécessaire.Les unités de minuterie peuvent contrôler quand 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 de calendrier, les événements de temps monotones et peuvent être exécutées de manière asynchrone.
Pour plus d'informations, voir Utilisation des temporisateurs dans Systemd.
Les chemins d'accès aux fichiers de configuration d'unité systemd varient selon leur objectif et si systemd s'exécute en mode "utilisateur" ou "système".
Par exemple, la configuration des unités installées à partir d'ensembles peut être disponible dans /usr/lib/systemd/system ou dans /usr/local/lib/systemd/system, alors qu'une unité de configuration en mode utilisateur est susceptible d'être stockée dans $HOME/.config/systemd/user. Pour plus d'informations, voir la page de manuel systemd.unit(5).