Diese Frage enthält Antworten, die verschiedene Möglichkeiten aufzeigen, um eine Konsistenzprüfung für die Root-Partition durchzuführen. Wenn der von Ihnen erwähnte Neustart keine Konsistenzprüfung durchführte, kann es sinnvoll sein, die fsck
Root-Partition auszuführen . Nachdem der fsck
Vorgang abgeschlossen ist (unabhängig davon, ob dies bereits während des Neustarts aufgetreten ist oder Sie ihn explizit ausführen), sind Ihre Metadaten konsistent, es kann jedoch nicht garantiert werden, dass der Inhalt der Datei korrekt ist. Ein Ausgabeprotokoll von gibt fsck
möglicherweise Aufschluss über das Ausmaß des Schadens.
Das besondere Problem Ihrer bash-History-Datei sieht so aus, als enthielt sie irrtümlicherweise Daten, die zu einer völlig anderen Datei gehören. Der beste Fall dafür könnte sein, dass der Verlaufsdatei Blöcke zugewiesen wurden, die jedoch nicht vor dem Stromausfall geschrieben wurden. In diesem Fall könnte der Inhalt der aktuellen Datei einfach der Inhalt sein, dessen Blockierung vor der Zuweisung zu Ihrer Bash-Verlaufsdatei zufällig war . Eine pessimistischere Interpretation dieser Dateiinhalte ist, dass Metadaten beschädigt wurden (in diesem Fall fsck
ist dies die wahrscheinliche Vorgehensweise). Möglicherweise möchten Sie nach anderen Dateien Ausschau halten, die möglicherweise betroffen sind. Im besten Fall sind nur Dateien mit einem ausreichend aktuellen Änderungszeitpunkt problematisch.
Um das zu retten, was von Ihrer bash-Historie noch übrig ist, könnte es eine einfache Methode sein, es dem strings
Befehl zuzuführen (der die meisten Inhalte herausfiltert, die wie binärer Inhalt aussehen). Es ist wahrscheinlich sinnvoll, den Standardwert von --bytes
( -n
) zu überschreiben, wenn Sie dies tun, um etwas näher an einer wahrscheinlichen Mindestbefehlslänge zu liegen. Je nachdem, wie groß Ihre Bash-History-Datei ist, und dem zugrunde liegenden Grund für den falschen Inhalt, werden möglicherweise tatsächliche Befehle dort gespeichert.
Es kann sinnvoll sein, die bash-Verlaufsdatei umzubenennen, anstatt sie sofort zu entfernen, damit Sie die Wiederherstellungsversuche verschieben können und auch eine Bash-Historie haben, die bei der regulären Ausführung von bash keine Probleme verursacht.