Stoppt dd, wenn die Festplatte voll ist?

Stoppt dd, wenn die Festplatte voll ist?

Wenn ich den folgenden Befehl ausgebe, um eine Festplatte vollständig zu löschen, wird der Vorgang dann automatisch beendet, wenn die Festplatte voll ist, oder muss ich die countOption angeben?:

sudo dd if=/dev/zero of=/dev/disk7 bs=64m

Ich sollte dieses Betriebssystem OS X 10.9 erwähnen.

Antwort1

eine Festplatte vollständig löschen

Wenn Ihr Ziel darin besteht, eine mechanische Festplatte (HDD) herzustellensichergelöscht, so dass es auch prinzipiell unmöglich ist, dass jemand darauf zugreift und die Daten wiederherstellt, Sie sollten es nicht /dev/zeroals Quelle verwenden und Sie sollten es mehr als einmal überschreiben. SieheWikipediaUndÜber uns.

Wenn Ihnen die Sicherheit egal ist, /dev/zeroist das in Ordnung. Das bloße Einrichten einer neuen Partitionstabelle auf dem Gerät reicht jedoch auch aus.

Ich sehe wirklich keinen sinnvollen Anwendungsfall für das Schreiben /dev/zeroauf physische Medien, weil:

  1. Es ist zu unsicher, wenn Ihnen Sicherheit wichtig ist;
  2. Wenn Sie das nicht tun, dauert es zu lange und verschwendet Zeit und Schreibzyklen (denn Sie können alle Datenstrukturen auf der Festplatte einfach durch neue überschreiben, sodass nur ein Datenwiederherstellungsprogramm eine Chance hätte, Fragmente der alten Daten wiederherzustellen. Das ist aber in Ordnung, denn Sie haben gerade gesagt, dass Ihnen Sicherheit egal ist. Falls doch, sollten Sie das hier nicht lesen).

automatisch stoppen

Natürlich. Was glauben Sie, wird es tun? Weiter in die nächste Datei schreiben?

Sie geben die Option ausdrücklich an of, die „Ausgabedatei“ bedeutet. Dadurch wird das Blockgerät geöffnet und geschrieben, bis das Ende des Blockgeräts erreicht ist. Anschließend wird das Programm beendet. Dies ist ein normales Verhalten für dd.

muss ich die countOption angeben?

Sie würden das nur tun, wenn Sie möchten, dass der Schreibvorgang irgendwann vor dem Erreichen des Endes des Blockgeräts beendet wird, oder wenn Sie in eine normale Datei schreiben (also nicht auf ein Blockgerät) und Sie möchten, dass der Schreibvorgang beendet wird, bevor das Dateisystem, in dem sich die Datei befindet, voll ist.

Einige abschließende Bemerkungen:

  • Dieses Verhalten ist nicht spezifisch für (eine bestimmte Version von) OS X oder sogar für OS X. Es funktioniert genauso unter Linux, Android, den BSDs und wahrscheinlich anderen, die POSIX-Standards implementieren.
  • Sie hätten Ihre Frage auch selbst beantworten können, indem Sie eine kleine (2 MB) Image-Datei erstellt und dddiese nach dem Mounten auf einem Loopback-Gerät verwendet und dann ausgeführt hätten dd.
  • Es ist zu beachten, dass ohne countAngabe, ddwird gestoppt, wennder ersteeine der folgenden Bedingungen eintritt: Entweder ifgibt (Eingabedatei) ein EOF(Dateiende) aus oder das Betriebssystem gibt ein Signal aus, das anzeigt, dass der letzte Block von of(Ausgabedatei) erreicht wurde.

Antwort2

Es wird gestoppt, wenn die Festplatte voll ist

verwandte Informationen