Das „rescue.target“ ist ein spezielles Ziel im systemd-Initialisierungssystem unter Linux, das einem bestimmten Zweck im Zusammenhang mit der Fehlerbehebung und Systemwiederherstellung dient. Es wurde entwickelt, um eine minimale Einzelbenutzerumgebung bereitzustellen, die es Systemadministratoren ermöglicht, Probleme zu diagnostizieren und zu beheben, ohne das System neu starten zu müssen. Dieses Ziel ist besonders nützlich, wenn es um kritische Systemausfälle oder Fehlkonfigurationen geht, die ein normales Booten verhindern.
Der Hauptzweck von „rescue.target“ besteht darin, eine Rettungs-Shell mit minimalen Diensten und einer begrenzten Anzahl gemounteter Dateisysteme bereitzustellen. Standardmäßig startet es eine Einzelbenutzer-Shell mit einem Root-Dateisystem, das im schreibgeschützten Modus gemountet ist. In dieser Umgebung können Administratoren als Root-Benutzer auf die Dateien des Systems zugreifen und Befehle ausführen. So können sie Probleme untersuchen und beheben, die möglicherweise dazu geführt haben, dass das System nicht mehr reagiert oder instabil wird.
Um auf „rescue.target“ zuzugreifen, ohne das System neu zu starten, müssen Sie den Startvorgang unterbrechen und die Startparameter ändern. Dies kann normalerweise über das Bootloader-Menü erfolgen, wo Sie die Kernel-Befehlszeile bearbeiten können. Durch Anhängen des Parameters „systemd.unit=rescue.target“ am Ende der Befehlszeile weisen Sie das System an, direkt in das Rettungsziel statt in das Standardziel zu booten.
Wenn Sie beispielsweise den GRUB-Bootloader verwenden, können Sie den gewünschten Kernel-Eintrag auswählen und „e“ drücken, um die Parameter zu bearbeiten. Suchen Sie die Zeile, die mit „linux“ oder „linuxefi“ beginnt, und fügen Sie „systemd.unit=rescue.target“ am Ende der Zeile hinzu. Drücken Sie „Strg+X“ oder „F10“, um mit den geänderten Parametern zu booten und die Rettungsumgebung aufzurufen.
Sobald Sie sich in der Rettungsshell befinden, können Sie verschiedene Aufgaben zur Fehlerbehebung durchführen. Sie haben Zugriff auf wichtige Befehle und Dienstprogramme, z. B. Dateisystem-Mounting, Netzwerkkonfiguration, Paketverwaltung und Protokollanalysetools. Auf diese Weise können Sie Probleme im Zusammenhang mit Festplattenfehlern, falsch konfigurierten Diensten, fehlerhaften Abhängigkeiten oder anderen Problemen auf Systemebene untersuchen und beheben.
Es ist wichtig zu beachten, dass das Rettungsziel eine minimale Umgebung ist und einige Dienste oder Geräte möglicherweise nicht verfügbar sind. Das Netzwerk ist möglicherweise standardmäßig deaktiviert, sodass Sie es bei Bedarf zur Fehlerbehebung möglicherweise manuell konfigurieren müssen. Darüber hinaus arbeitet die Rettungsshell mit dem im schreibgeschützten Modus gemounteten Root-Dateisystem, um versehentliche Änderungen zu verhindern. Wenn Sie Änderungen am Dateisystem vornehmen müssen, können Sie es mit dem Befehl „mount -o remount,rw /“ im Lese-/Schreibmodus erneut bereitstellen.
Das „rescue.target“ im systemd-Initialisierungssystem bietet eine Einzelbenutzer-Minimalumgebung zur Fehlerbehebung und Systemwiederherstellung, ohne dass das System neu gestartet werden muss. Es ermöglicht Systemadministratoren, kritische Probleme zu diagnostizieren und zu beheben, indem es eine Rettungs-Shell mit wichtigen Tools und Zugriff auf die Systemdateien bereitstellt. Diese Funktion ist besonders wertvoll in Situationen, in denen ein Systemfehler den normalen Startvorgang verhindert.
Weitere aktuelle Fragen und Antworten zu EITC/IS/LSA Linux-Systemverwaltung:
- Wie verhindert die „conflicts“-Direktive in systemd, dass zwei Einheiten gleichzeitig aktiv sind?
- Was ist der Zweck der „required“-Direktive in systemd und wie unterscheidet sie sich von „required by“?
- Warum wird empfohlen, Abhängigkeiten von Einheiten zu verwalten, die Sie selbst erstellen oder verwalten, anstatt Systemeinheiten zu bearbeiten?
- Wie legt die „before“-Direktive in systemd die Ausführungsreihenfolge von Einheiten fest?
- Was ist der Unterschied zwischen schwachen Abhängigkeiten und expliziter Reihenfolge in systemd?
- Welcher Befehl kann zum Wechseln zwischen Zielen in systemd verwendet werden und wie ähnelt er dem Wechseln zwischen Ausführungsebenen in sysvinit?
- Wie können Sie sicherstellen, dass die erforderlichen Netzwerkkonfigurationen abgeschlossen sind, bevor ein bestimmter Netzwerkdienst gestartet wird?
- Inwiefern ähneln Ziele benannten Runlevels in sysvinit und welchen Zweck hat „multi-user.target“?
- Was sind Systemd-Ziele und wie helfen sie bei der Verwaltung der Beziehungen zwischen Einheiten in einem Linux-System?
- Worüber liefert der Befehl „status“ in systemctl Informationen?
Weitere Fragen und Antworten finden Sie unter EITC/IS/LSA Linux System Administration