Wenn ein Stromausfall zu einem Fehler führt, welcher Runlevel wird vom System in den Notfallmodus oder die Rettung geladen?

331
BobMueller

Kann mir jemand sagen, in welchem ​​Runlevel-System Systemd ausgeführt wird, wenn Sie nach einem Stromausfall zur Überprüfung des Dateisystems aufgefordert werden? Ist es ein Notfall oder eine Rettung oder hängt es davon ab? Ich habe einige systemd-Einheiten, die ausgeführt werden müssen, wenn das System beim Booten zur Überprüfung des Dateisystems auffordert. Ich möchte lieber die minimale Emergency.target-Shell nicht ändern, um das Skript zu laden, wenn ich es nicht brauche. Deshalb hoffte ich, dass es im Rettungsmodus lief.

Wenn jemand eine einfache Möglichkeit hat, das Dateisystem vorübergehend zu brechen, sodass ich die Eingabeaufforderung fsck zum Testen aufrufen kann, wäre ich sehr dankbar. Ich habe versucht, / etc / fstab zu ändern, jedoch wird der Notfallmodus speziell gestartet.

Vielen Dank für jede Hilfe.

1

1 Antwort auf die Frage

0
grawity

Normalerweise auch nicht - es ist Teil des regulären Startvorgangs.

Bei Dateisystemen, die in / etc / fstab aufgelistet sind und das "check" -Flag auf Nicht-Null gesetzt ist, erhält die entsprechende .mount-Einheit automatisch eine Abhängigkeit systemd-fsck@<dev>.service. Wenn dieser Dienst abgeschlossen ist, fährt systemd mit dem Einhängen des Dateisystems fort (Starten der .mount-Einheit). Dies ist kein spezieller Status, sondern Teil der regulären Jobwarteschlange.

Wenn der fsck-Dienst ausfällt (z. B. ist irgendeine manuelle Reparatur erforderlich), fällt auch die .mount-Einheit aus, und nur dadurch wird schließlich ein Wechsel vom regulären Boot-Ziel in ausgelöst emergency.target.

Wie Sie sehen, wird fsck bei jedem Start ausgeführt, und die einzige Sache, die von einem Stromausfall betroffen ist, ist, wie lange es dauert. (Einige Dateisysteme haben ein "schmutziges" Bit, das beim Mounten gesetzt und bei umount gelöscht wird; andere erkennen den Status auf der Basis nicht verarbeiteter Einträge im Update-Journal.) Um dieses Verhalten zu ändern, müssen Sie das fsck.<fstype>Programm ändern oder die Überprüfung vollständig deaktivieren für dieses Dateisystem in fstab.

Um zusätzliche Dienste vor den systemd-fsck@<dev>Läufen zu starten (was bei jedem Start der Fall sein würde, bevor entschieden wird, ob eine erweiterte Überprüfung erforderlich ist), verwenden Sie die üblichen Methoden zur Erweiterung einer systemd-Einheit.

Beachten Sie, dass das Root- Dateisystem ein Sonderfall ist: In einigen Distributionen wird es tatsächlich in der initramfs (frühe Startphase) überprüft, während der Hauptprozess von systemd noch nicht ausgeführt wird. (Abhängig von der Distribution kann das initramfs sein eigenes systemd oder ein ganz anderes init haben.) Auch hier fsckwird immer ausgeführt, ob die Stromzufuhr sauber war oder nicht.