Kann dd ohne andere Optionen als eine Ausgabedatei und eine /dev/urandom-Eingabedatei dazu führen, dass andere Dateien auf der Partition überschrieben werden?

Kann dd ohne andere Optionen als eine Ausgabedatei und eine /dev/urandom-Eingabedatei dazu führen, dass andere Dateien auf der Partition überschrieben werden?

Ich habe eine USB-Festplatte mit7 GBan freiem Speicherplatz, den ich mithilfe dieser Befehle mit pseudozufälligen Daten zu füllen versuchte:

$ cd /media/username/volume_name
$ sudo dd if=/dev/urandom of=random_data_file.txt

random_data_file.txtvorher nicht existierte. Ich erwartete, dass der Befehl die Datei erstellt, pseudozufällige Daten hineinschreibt und stoppt, wenn die enthaltene Partition voll ist. Die Statusleiste des Dateimanagers zeigte schließlich 0 bytesfreien Speicherplatz an. Aber der ddBefehl stoppte nicht, und weder der Terminalemulator noch der Dateimanager zeigten eine Benachrichtigung an, dass das Laufwerk voll war. Nachdem ich den Befehl mit beendet hatte Ctrl+C, lautete die Terminalausgabe40 GBgeschrieben wurde. Ich wählte die Datei im Manager aus, in dessen Statusleiste auch die Größe angezeigt wurde als40 GB, das sind 33 GB mehr als die vorherige Menge an freiem Speicherplatz.

  1. Besteht die Möglichkeit, dass dieser Befehl einige meiner anderen Dateien, die Partition oder andere Partitionen überschrieben oder geändert hat? Oder bedeutet dies, dass random_data_file.txt40 GB / 7 GB = 5,7 Mal geschrieben und überschrieben wurden? Wenn Letzteres zutrifft, warum hat der Dateimanager dann seine Größe als größer als 7 GB angezeigt? Nach dem Löschen random_data_file.txtmit dem Dateimanager wird in der Statusleiste wieder 7 GB freier Speicherplatz angezeigt.
  2. Wie kann ich den Befehl richtig verwenden, ddum pseudozufällige Daten zu erstellen und in eine Ausgabedatei zu schreiben, bis die enthaltene Partition voll ist, ohne irgendetwas (außer dem freien Speicherplatz auf derselben Partition), einschließlich der Ausgabedatei, zu überschreiben?

Antwort1

Vorausgesetzt, Ihre Festplattenhardware ist in Ordnung (und es handelt sich nicht um eine betrügerische SD-Karte, die falschen verfügbaren Speicherplatz anzeigt) und Ihr Dateisystem ist nicht durch beschädigte Freelists und Dateien beschädigt, deren Blöcke sich noch in der Freelist befinden, dd if=/dev/urandom of=random_data_file.txtwürde die Festplatte nicht beschädigt oder etwas überschrieben (außer random_datafile.txt).

Wahrscheinlich war das vorherige „sudo“ nicht erforderlich, und wenn Sie nicht sicher sind, ob Ihr dd-Befehl korrekt ist, sollten Sie ihn auf keinen Fall als „sudo“ ausführen.

Ein möglicher Grund, warum mehr Daten geschrieben wurden als erwartet, ist, dass die meisten Dateisysteme etwas freien Speicherplatz reservieren (normalerweise 5 %), sodass Root mit dem Schreiben fortfahren kann, wenn normale Benutzer feststellen, dass die Festplatte voll ist. (Auch hier gilt: Tun Sie dies nicht mit sudo...)

verwandte Informationen