J'ai besoin de savoir quel type de script exécute fsck lors du démarrage sur CentOS 7 ?
Je sais que tous les scénarios se trouvent dans le répertoire /etc/rc.d.
Mais je n'en ai aucune idée où se trouve ce script.
Réponse acceptée :
Je sais que tous les scénarios se trouvent dans
/etc/rc.d
répertoire.
Ce que vous savez est faux.
Bienvenue dans CentOS 7. Le monde a changé. En particulier, votre base de Red Hat Enterprise Linux 7 a changé. Vous utilisez un système d'exploitation Linux systemd. Une grande partie des idées reçues sur Linux ne s'appliquent pas à de tels systèmes.
fsck
n'est exécuté par aucun script du tout sur les systèmes d'exploitation Linux systemd.
Le format natif de systemd est l'unité , qui peut être entre autres une unité de service ou une unité de montage . La gestion des services de systemd proprement dite fonctionne uniquement en termes de ceux qu'elle lit à partir de l'un des neuf répertoires où (à l'échelle du système) .service
et .mount
les fichiers peuvent vivre. /etc/systemd/system
, /run/systemd/system
, /usr/local/lib/systemd/system
, et /usr/lib/systemd/system
sont quatre de ces répertoires.
Votre /etc/fstab
la base de données est convertie en unités de montage par un programme nommé systemd-fstab-generator
. Ce programme est listé dans le /usr/lib/systemd/system-generators/
répertoire et est donc exécuté automatiquement par systemd au début du processus d'amorçage à chaque démarrage, et à nouveau chaque fois que systemd reçoit l'instruction de recharger sa configuration ultérieurement.
Ce programme est un générateur , un type d'utilitaire auxiliaire dont le travail consiste à créer des fichiers d'unité à la volée, dans un tmpfs où se trouvent trois autres de ces neuf répertoires (qui sont destinés à être utilisés uniquement par les générateurs). systemd-fstab-generator
génère .mount
unités qui montent les volumes. Ceux-ci font à leur tour référence à .service
unités qui exécutent fsck
.
Ces fsck
les unités de service n'existent pas elles-mêmes en tant que fichiers dans le système de fichiers (pas même dans un tmpfs), et ne sont pas les produits d'un générateur. Ils sont instanciés par systemd à partir d'un template fichier d'unité de service, nommé [email protected]
, en utilisant le nom du périphérique comme nom d'instance de l'unité de service. L'instanciation se produit à cause du Requires=
et After=
références à [email protected]device.service
à partir du .mount
généré unités.
Ce modèle instancié est un service qui exécute un programme nommé systemd-fsck
, qui établit une connexion client-serveur pour afficher les informations de progression, puis exécute à son tour fsck
. systemd-fsck
est un programme C compilé, pas un script interprété.
Autres lectures
- "Nouvelles fonctionnalités :système et services". Notes de publication de Red Hat Enterprise Linux 7 . Chapeau rouge.
- Stephen Wadeley (2014). "8. Gestion des services avec systemd" Guide de l'administrateur système Red Hat Enterprise Linux 7 . Chapeau rouge.
- systemd-fstab-generator . pages de manuel systemd. Freedesktop.org.
- [email protected] . pages de manuel systemd. Freedesktop.org.
- systemd.mount . pages de manuel systemd. Freedesktop.org.
- https://unix.stackexchange.com/a/204075/5132
- https://unix.stackexchange.com/a/196014/5132