GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux – Speicherort des Fsck-Skripts?

Ich muss herausfinden, welche Art von Skript fsck während des Bootens auf CentOS 7 ausführt?
Ich weiß, dass sich alle Szenarien im Verzeichnis /etc/rc.d befinden.
Aber ich habe keine Ahnung davon Wo befindet sich dieses Skript?

Akzeptierte Antwort:

Ich weiß, dass sich alle Szenarien in /etc/rc.d befinden Verzeichnis.

Was Sie wissen, ist falsch.

Willkommen bei CentOS 7. Die Welt hat sich verändert. Insbesondere Ihre Basis von Red Hat Enterprise Linux 7 hat sich geändert. Sie verwenden ein systemd-Linux-Betriebssystem. Viele der über Linux verbreiteten Weisheiten gelten für solche Systeme nicht.

fsck wird von keinem Skript ausgeführt auf systemd Linux-Betriebssystemen.

Das native Format für systemd ist unit , die unter anderem eine Serviceeinheit sein kann oder eine mount unit . Die eigentliche Dienstverwaltung von systemd arbeitet ausschließlich in Bezug auf diejenigen, die sie aus einem von neun Verzeichnissen liest, in denen (systemweit) .service steht und .mount Dateien können leben. /etc/systemd/system , /run/systemd/system , /usr/local/lib/systemd/system , und /usr/lib/systemd/system sind vier dieser Verzeichnisse.

Ihre /etc/fstab Die Datenbank wird von einem Programm namens systemd-fstab-generator in Einhängeeinheiten konvertiert . Dieses Programm ist in /usr/lib/systemd/system-generators/ aufgeführt Verzeichnis und wird daher von systemd früh im Bootstrap-Prozess bei jedem Start automatisch ausgeführt, und jedes Mal, wenn systemd später angewiesen wird, seine Konfiguration neu zu laden.

Dieses Programm ist ein Generator , eine Art Hilfsdienstprogramm, dessen Aufgabe es ist, Unit-Dateien im Handumdrehen zu erstellen, in einem tmpfs, in dem sich drei weitere dieser neun Verzeichnisse (die nur von Generatoren verwendet werden sollen) befinden. systemd-fstab-generator erzeugt .mount Einheiten, die die Volumes mounten. Diese wiederum verweisen auf .service Einheiten, die fsck ausführen .

Diese fsck Diensteinheiten selbst existieren nicht als Dateien im Dateisystem (nicht einmal in einem tmpfs) und sind nicht die Produkte eines Generators. Sie werden instanziiert von systemd aus einer Vorlage Diensteinheitendatei mit dem Namen [email protected] , wobei der Gerätename als Instanzname der Diensteinheit verwendet wird. Die Instanziierung erfolgt aufgrund von Requires= und After= Verweise auf [email protected]device.service aus der generierten .mount Einheiten.

Diese instanziierte Vorlage ist ein Dienst, der ein Programm namens systemd-fsck ausführt , das eine Client-Server-Verbindung zum Anzeigen von Fortschrittsinformationen aufbaut und dann seinerseits fsck ausführt . systemd-fsck ist ein kompiliertes C-Programm, kein interpretiertes Skript.

Siehe auch:Debian – DNS in Debian Linux nicht richtig eingerichtet?

Weiterführende Literatur

  • „Neue Funktionen:System und Dienste“. Red Hat Enterprise Linux 7 Versionshinweise . Red Hat.
  • Stephen Wadeley (2014). „8. Verwalten von Diensten mit systemd“ Red Hat Enterprise Linux 7 Handbuch für Systemadministratoren . Red Hat.
  • systemd-fstab-generator . systemd Handbuchseiten. Freedesktop.org.
  • [E-Mail-geschützt] . systemd Handbuchseiten. Freedesktop.org.
  • systemd.mount . systemd Handbuchseiten. Freedesktop.org.
  • https://unix.stackexchange.com/a/204075/5132
  • https://unix.stackexchange.com/a/196014/5132

Linux
  1. Hinzufügen eines neuen Dienstes zu Linux systemd

  2. So listen Sie Systemd-Dienste unter Linux auf

  3. Linux-Betriebssystemdienst „iptables“

  4. Linux-Betriebssystemdienst „Netzwerk“

  5. Linux-Betriebssystemdienst „portmap“

So führen Sie Shell-Skript als Systemd-Dienst in Linux aus

So führen Sie Shell-Skript als SystemD-Dienst in Linux aus

Linux-Betriebssystemdienst „dhcpd“

Linux-Betriebssystemdienst „anacron“

Linux-Betriebssystemdienst „hplip“

Linux-Betriebssystemdienst „scsi_reserve“