Ich möchte erzwingen, dass eine Festplattenpartition schreibgeschützt ist, und sie länger als 30 Minuten schreibgeschützt lassen.
Was ich ausprobiert habe:
mount -o remount,ro (partition-identifier) (mount-point) -t (filesystem)
Problem : Dies führte zu einem Gerätefehler, da einige Prozesse die Partition verwendeten. Ich möchte die Prozesse nicht mit der Festplatte beenden. Ich möchte simulieren, dass die Festplatte plötzlich schreibgeschützt wird, während die Prozesse sie noch verwenden.
Benutzter magischer sysrq Schlüssel, wie unten
echo u > /proc/sysrq-trigger
Problem : Dadurch sind alle Festplattenpartitionen schreibgeschützt (obwohl das Gerät ausgelastet ist). Nach 20-30 Minuten startet sich die Maschine von selbst neu. Einige Computer werden sofort neu gestartet, sobald dieser Befehl ausgeführt wird. Ich bin mir noch nicht sicher, was diesen Neustart verursacht. Ich möchte nicht, dass sich der Computer von selbst neu startet und die Festplatte mindestens 30 Minuten lang im schreibgeschützten Modus bleibt.
Frage : Gibt es eine bessere Möglichkeit, eine einzelne Festplattenpartition dazu zu zwingen, schreibgeschützt zu sein und sie in diesem Zustand eine halbe Stunde lang beizubehalten und wieder in den Lese- / Schreibmodus zu versetzen, ohne dabei einen Neustart zu verursachen?
quelle
fsfreeze -f
? Das Dateisystem wird nicht erneut schreibgeschützt gemountet. Stattdessen blockiert es alle Autoren bisfsfreeze -u
. Aber es ist ähnlich ...fsfreeze -f
und es war in meinem Fall mehr "os freeze". Vielleicht, weil Schreibvorgänge blockiert statt abgelehnt wurden?fsfreeze
Ich habe mein System gesperrt und konnte den Unfreeze-Befehl nicht eingeben, da ich nicht zu einem Terminal zurückkehren konnte und meinen Computer neu starten musste. Also sei gewarnt ! :)Antworten:
Normalerweise können Sie ein Dateisystem nicht erneut als schreibgeschützt bereitstellen, wenn auf Prozessen eine Datei zum Schreiben geöffnet ist oder wenn eine gelöschte, aber noch geöffnete Datei enthalten ist. Ebenso können Sie ein Dateisystem, in dem eine Datei geöffnet ist (oder eine ähnliche Verwendung von Dateien, z. B. ein Prozess, in dem das aktuelle Verzeichnis vorhanden ist, eine ausführbare Datei usw.), nicht aushängen.
Sie können
umount -l
den Einhängepunkt freigeben und das Öffnen weiterer Dateien verhindern, das Dateisystem jedoch weiterhin einbinden und Prozesse, bei denen Dateien bereits geöffnet sind, normal ausführen.Ich kann mir keine generische Möglichkeit vorstellen, ein Dateisystem dazu zu zwingen, schreibgeschützt erneut gemountet zu werden, wenn dies nicht der Fall sein sollte. Wenn das Dateisystem jedoch von einem Blockgerät gesichert wird, können Sie das Blockgerät schreibgeschützt machen , z
echo u > /proc/sysrq-trigger
Dies ist eine ziemlich extreme Methode, um das erneute Laden als schreibgeschützt zu erzwingen, da dies alle Dateisysteme betrifft. Es ist als letzte Methode gedacht, das Dateisystem kurz vor dem Neustart in einem sauberen Zustand zu belassen.Das erneute Einhängen eines Dateisystems als schreibgeschützt führt nicht zu einem Neustart. Was auch immer den Neustart verursacht, hängt nicht direkt mit dem erneuten Bereitstellen der Partition als schreibgeschützt zusammen. Möglicherweise hat dies nichts mit dem Prozessor zu tun, oder es wird ein Fehler in der Anwendung ausgelöst, der dazu führt, dass sich der Prozessor dreht und überhitzt. Ihr Prozessor ist defekt oder übertaktet und startet schließlich neu. Sie müssen die Ursache des Neustarts ermitteln.
quelle
echo 1 | sudo tee /sys/block/mmcblk0/mmcblk0p2/ro
echo u > /proc/sysrq-trigger
ist nicht nur extrem, sondern kann Sie auch zum Neustart zwingen, wenn Sie RW wieder einbinden möchten. Als ich dies versuchte und dann erneut einbinden (mitmount..
)dmesg
sagte "RDWR konnte nicht erneut eingebunden werden, da die Liste der verwaisten Inodes noch nicht verarbeitet wurde. Bitte umount / remount stattdessen"Verwenden Sie
mount
die Option force (vorausgesetzt Ihr Mount hat eine; GNUmount
nicht, aber BSD und macOS zum Beispiel):Natürlich kann Ihr Kilometerstand abhängig vom aktuellen Dateisystem, der Kernel-Version und der jeweiligen Situation variieren. Dies ist also nur eine übergeordnete Option, bei der Sie andere untergeordnete Tricks ausprobieren, wie z. B. von @Gilles erwähnt.
quelle
/
Partition erneut einbinden .umount -f
, aber ich habe gerade versucht, ro erneut einzuhängen, und während das -f bewirkt, dass der Befehl keinen Fehler zurückgibt, ist das Dateisystem tatsächlich nicht schreibgeschützt.-f
ist--fake
. Zitat: "Veranlasst, dass alles außer dem eigentlichen Systemaufruf ausgeführt wird. Wenn dies nicht offensichtlich ist, wird das Dateisystem durch diese" Fälschung "eingebunden. Diese Option ist in Verbindung mit dem Flag -v nützlich, um zu bestimmen, was der Befehl mount versucht Dies kann auch verwendet werden, um Einträge für Geräte hinzuzufügen, die zuvor mit der Option -n bereitgestellt wurden. Die Option -f sucht nach vorhandenen Datensätzen in / etc / mtab und schlägt fehl, wenn der Datensatz bereits vorhanden ist (mit regulären nicht gefälschten Bereitstellungen, Diese Prüfung wird vom Kernel durchgeführt. "-f
Tat "Force".