Frage

Ich möchte Dateisystem Korruption zum Zwecke simulieren zu testen, wie unsere Embedded-Systeme darauf reagieren und schließlich haben sie so elegant wie möglich ausfallen. Wir verwenden verschiedene Arten von Block-Gerät emuliert Flash-Speicher für Daten, die häufig geändert wird und ungeeignet für die Lagerung in NAND / NOR.

Da habe ich eine ziemlich gute Vorstellung davon, wie oft Daten in verschiedenen Teilen des Dateibaums geändert wird und wo sensible Daten gespeichert sind. Ich mag Fehler in bestimmten Bereichen injizieren, und nicht nur zufällig.

Im Notfall verwenden wir fsck -y als eine Art letzten Ausweg, um zu versuchen, das System bis zu bringen und berichten, dass in einem sehr schlechten Zustand ist. Ich würde sehr gerne Fehler verursachen, die fsck auslösen würde Reparaturen, um zu versuchen, die Auswirkungen auf die Systemfähigkeit zu studieren bis zu kommen.

dd if=/dev/random ist nicht präzise genug für meine Zwecke, da es nicht leicht verwendet werden kann, um ein kontrollierten Fehler zu injizieren. Gibt es noch andere Tools oder Methoden, die meine Bedürfnisse besser passen, oder muss ich meine eigene erfinden?

War es hilfreich?

Lösung

Wenn Sie bereits wissen, was zu ändern, dd eine Datei mit dem gelesenen Bytes können Sie schreiben wollen, und Sie ihm sagen, wo sie schreiben.

Um herauszufinden, wo zu schreiben, debugfs vom e2fsprogs Paket, das Sie könnten helfen.

Andere Tipps

Es sollte möglich sein, ein Linux-Dateisystem-Image fuzzer zu verwenden Korruption zu verursachen:

oder eine der Linux Disk Fehlerinjektionstechniken (zB dm-flockig in Korruption Modus), beschrieben in https: //unix.stackexchange .com / a / 144.200 .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top