Wie wische ich freien Speicherplatz in Linux?

Wenn eine Datei gelöscht wird, kann ihr Inhalt noch im Dateisystem verbleiben, es sei denn, sie wird explizit mit etwas anderem überschrieben. Der Befehl wipe kann Dateien sicher löschen, scheint jedoch nicht das Löschen von freiem Speicherplatz zu ermöglichen, der von Dateien nicht verwendet wird.

Was soll ich verwenden, um dies zu erreichen?

Author: Sekhemty, 2009-08-06

16 answers

Warnung: Moderne Festplatten - / SSD-Hardware und moderne Dateisysteme können Daten an Stellen wegspülen, an denen Sie sie nicht löschen können, sodass bei diesem Vorgang möglicherweise immer noch Daten auf der Festplatte verbleiben. Die einzigen sicheren Möglichkeiten zum Löschen von Daten sind der Befehl ATA Secure Erase (falls korrekt implementiert) oder die physische Zerstörung. Siehe auch Wie kann ich alle Informationen auf einer Festplatte zuverlässig löschen?

Sie können eine Reihe von Tools namens secure-delete verwenden.

sudo apt-get install secure-delete

Dies hat vier Werkzeuge:

srm - löschen Sie eine vorhandene Datei sicher
smem - spuren einer Datei sicher aus dem RAM löschen
sfill - wischen Sie den gesamten als leer markierten Speicherplatz auf Ihrer Festplatte ab
sswap - wischen Sie alle Daten aus dem Swap-Raum.

Von der Manpage von srm

Srm wurde entwickelt, um Daten auf Medien auf sichere Weise zu löschen, die nicht von Dieben, Strafverfolgungsbehörden oder anderen Bedrohungen wiederhergestellt werden können. Der Wipe-Algorithmus basiert auf dem Papier " Sicheres Löschen von Daten from Magnetic and Solid-State Memory " präsentiert auf dem 6. Usenix Security Symposium von Peter Gutmann, einem der führenden zivilen Kryptographen.

Der sichere Datenlöschprozess von srm läuft wie folgt ab:

  • 1 Durchlauf mit 0xff
  • 5 zufällige geht. /dev/urandom wird für einen sicheren RNG verwendet, falls verfügbar.
  • 27 Pässe mit speziellen Werten, die von Peter Gutmann definiert wurden.
  • 5 zufällige geht. /dev/urandom wird für einen sicheren RNG verwendet, falls verfügbar.
  • Datei umbenennen zu einem zufälligen Wert
  • Datei abschneiden

Als zusätzliches Maß an Sicherheit wird die Datei im O_SYNC-Modus geöffnet und nach jedem Durchlauf wird ein fsync() - Aufruf ausgeführt. srm schreibt 32k-Blöcke zum Zweck der Geschwindigkeit und füllt Puffer von Festplatten-Caches, um sie zu zwingen, alte Daten, die zur Datei gehörten, zu leeren und zu überschreiben.

 117
Author: fnord_ix,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-06-12 13:48:39

Der schnellste Weg, wenn Sie nur einen einzigen Durchgang benötigen und nur alles durch Nullen ersetzen möchten, ist:

cat /dev/zero > zero.file
sync
rm zero.file

(aus einem Verzeichnis im Dateisystem ausführen, das gelöscht werden soll)
(der Befehl sync ist eine Paranoia-Maßnahme, die sicherstellt, dass alle Daten auf die Festplatte geschrieben werden - ein intelligenter Cache-Manager könnte herausfinden, dass Schreibvorgänge für ausstehende Blöcke abgebrochen werden können, wenn die Datei nicht verknüpft ist)

Während dieser Operation wird es eine Zeit geben, in der kein freier Speicherplatz vorhanden ist überhaupt auf dem Dateisystem, das zehn Sekunden dauern kann, wenn die resultierende Datei groß und fragmentiert ist, dauert das Löschen eine Weile. Um die Zeit zu reduzieren, wenn Freespace vollständig Null ist:

dd if=/dev/zero of=zero.small.file bs=1024 count=102400
cat /dev/zero > zero.file
sync
rm zero.small.file
rm zero.file

Dies sollte ausreichen, um zu verhindern, dass jemand den alten Dateiinhalt ohne eine teure forensische Operation liest. Für eine etwas sicherere, aber langsamere Variante ersetzen Sie /dev/zero durch /dev/urandom. Für mehr Paranoia führen Sie mehrere Schritte mit /dev/urandom, wenn Sie jedoch so viel Aufwand benötigen, das Dienstprogramm shred aus dem coreutils-Paket ist der Weg zu gehen:

dd if=/dev/zero of=zero.small.file bs=1024 count=102400
shred -z zero.small.file
cat /dev/zero > zero.file
sync
rm zero.small.file
shred -z zero.file
sync
rm zero.file

Beachten Sie, dass die kleine Datei vor dem Erstellen der größeren Datei zerkleinert wird, sodass sie entfernt werden kann, sobald die größere vollständig ist, anstatt darauf warten zu müssen, dass sie zerkleinert wird, sodass das Dateisystem für die benötigte Zeit keinen freien Speicherplatz hat. Die shred-Prozess mit nehmen lange Zeit über eine große Datei und es sei denn, Sie versuchen, etwas zu verstecken, von der die NSA ist nicht wirklich notwendig, IMO.

Alle oben genannten sollten arbeiten Sie an jedem Dateisystem.

Grenzen der Dateigröße:

Wie DanMoulding in einem Kommentar unten hervorhebt, kann dies Probleme mit Dateigrößenbegrenzungen auf einigen Dateisystemen haben.

Für FAT32 wäre es definitiv aufgrund des 2GiB-Dateilimits ein Problem: Die meisten Volumes sind heutzutage größer als dieses (8TiB ist das Volume Size Limit IIRC). Sie können dies umgehen, indem Sie die große cat /dev/zero - Ausgabe über split, um mehrere kleinere Dateien zu generieren und die stufen entsprechend zerkleinern und löschen.

Bei ext2 / 3 / 4 ist es weniger besorgniserregend: Beim Standard - / allgemeinen 4K-Block beträgt die Dateigrößenbeschränkung 2TiB, sodass Sie ein riesiges Volumen haben müssen, damit dies ein Problem darstellt (die maximale Volumengröße unter diesen Bedingungen beträgt 16TiB).

Mit dem (noch experimentellen) btrfs sind sowohl die maximale Datei-als auch die Volumengröße massive 16EiB.

Unter NTFS ist die maximale Dateilänge in einigen Fällen größer als die maximale Volumenlänge auch.

Ansatzpunkte für mehr info:
http://en.wikipedia.org/wiki/Ext3#Size_limits
http://en.wikipedia.org/wiki/Btrfs
http://en.wikipedia.org/wiki/Ntfs#Scalability

Virtuelle Geräte

Wie kürzlich in den Kommentaren erwähnt, gibt es zusätzliche Überlegungen für virtuelle Geräte:

  • Bei spärlich zugewiesenen virtuellen Datenträgern sind andere Methoden wie die von zerofree verwendeten schneller (im Gegensatz zu cat und dd ist dies jedoch kein Standardwerkzeug, auf das Sie sich verlassen können, da es in so ziemlich jedem Unix-a-ähnlichen Betriebssystem verfügbar ist.)

  • Beachten Sie, dass das Nullsetzen eines Blocks auf einem spärlichen virtuellen Gerät den Block auf dem zugrunde liegenden physischen Gerät möglicherweise nicht löscht, in der Tat würde ich so weit gehen zu sagen, dass es unwahrscheinlich ist - der Virtual Disk Manager wird den Block einfach nicht mehr verwenden, damit er später etwas anderem zugewiesen werden kann.

  • Auch für Feste bei virtuellen Geräten haben Sie möglicherweise keine Kontrolle darüber, wo sich das Gerät physisch befindet, sodass es jederzeit um seinen aktuellen Standort oder auf einen neuen Satz physischer Festplatten verschoben werden kann, und das Beste, was Sie löschen können, ist der aktuelle Standort, nicht alle vorherigen Standorte Der Block hat sich möglicherweise in der Vergangenheit aufgehalten.

  • Für die oben genannten Probleme auf virtuellen Geräten: Es sei denn, Sie steuern die Hosts und können ihren nicht zugewiesenen Speicherplatz sicher löschen, nachdem Sie die Festplatten in der VM gelöscht oder die virtuelles Gerät herum, es gibt nichts, was Sie danach tun können. Der einzige Rückgriff besteht darin, die vollständige Festplattenverschlüsselung von Anfang an zu verwenden damit überhaupt nichts unverschlüsseltes auf das physische Medium geschrieben wird. Es kann natürlich immer noch einen Aufruf für einen freien Speicherplatz innerhalb der VM geben. Beachten Sie auch, dass FDE spärliche virtuelle Geräte viel weniger nützlich machen kann, da die Virtualisierungsschicht nicht wirklich sehen kann, welche Blöcke nicht verwendet werden. Wenn die Dateisystemebene des Betriebssystems Trim-Befehle an das virtuelle Gerät (als ob es sich um eine SSD handelt) und der virtuelle Controller interpretieren diese, dann kann das das lösen, aber ich kenne keine Umstände, unter denen dies tatsächlich passiert, und eine breitere Diskussion darüber ist eine Angelegenheit für anderswo (wir sind bereits dem Thema für die ursprüngliche Frage nahe, also wenn dies Ihr Interesse geweckt hat, können einige Experimente und/oder Follow-up-Fragen in Ordnung sein).

 82
Author: David Spillett,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-10-05 10:10:00

WARNUNG

Ich war schockiert, wie viele Dateien photorec auch nach dem Löschen von meiner Festplatte abrufen konnte.

Ob es mehr Sicherheit gibt, den "freien Raum" nur einmal mit 0x00 oder 38 Mal mit unterschiedlichen kabalistischen Standards zu füllen, ist eher eine akademische Diskussion. Der Autor der bahnbrechenden 1996 paper on Shredding schrieb sich ein Epilog sagen, dass dies veraltet und nicht notwendig für moderne Hardware. Es gibt keinen dokumentierten Fall von Daten physisch ersetzt Nullen und erholte sich danach.

Der wahre - Link in dieser Prozedur ist das - Dateisystem. Einige Dateisysteme reservieren Speicherplatz für spezielle Zwecke und werden nicht als "freier Speicherplatz"zur Verfügung gestellt. Aber Ihre Daten können da sein. Dazu gehören Fotos, persönliche Klartext-E-Mails, was auch immer. Ich habe gerade reserved+space+ext4 gegoogelt und erfahren, dass 5% meiner home Partition reserviert waren. Ich denke, das ist, wo photorec gefunden, so viel von meinem Zeug. Schlussfolgerung: Die Zerkleinerungsmethode ist nicht die wichtigste, selbst die Multipass-Methode lässt immer noch Daten zurück.

Sie können versuchen, # tune2fs -m 0 /dev/sdn0 vor der Montage. (Wenn dies nach dem Neustart die Root-Partition ist, stellen Sie sicher, dass Sie -m 5 oder -m 1 ausführen, nachdem Sie sie deaktiviert haben.)

Aber auf die eine oder andere Weise kann noch etwas Platz übrig sein.

Die einzige wirklich sichere Möglichkeit besteht darin, die gesamte Partition zu löschen, ein Dateisystem erneut zu erstellen und dann Ihre Dateien von einem Sicherung.


Schneller Weg (empfohlen)

Führen Sie aus einem Verzeichnis auf dem Dateisystem aus, das Sie löschen möchten:

dd if=/dev/zero of=zero.small.file bs=1024 count=102400
dd if=/dev/zero of=zero.file bs=1024
sync ; sleep 60 ; sync
rm zero.small.file
rm zero.file

Hinweise: Der Zweck der kleinen Datei ist es, die Zeit zu reduzieren, wenn der freie Speicherplatz vollständig Null ist; Der Zweck der Synchronisierung besteht darin, sicherzustellen, dass die Daten tatsächlich geschrieben werden.

Dies sollte für die meisten Menschen gut genug sein.

Langsamer Weg (paranoid)

Es gibt keinen dokumentierten Fall von Daten, die nach die obige Reinigung. Es wäre teuer und ressourcenintensiv, wenn überhaupt möglich.

Wenn Sie jedoch einen Grund zu der Annahme haben, dass Geheimdienste viele Ressourcen für die Wiederherstellung Ihrer Dateien aufwenden würden, sollte dies ausreichen:

dd if=/dev/urandom of=random.small.file bs=1024 count=102400
dd if=/dev/urandom of=random.file bs=1024
sync ; sleep 60 ; sync
rm random.small.file
rm random.file

Es dauert viel länger.

Warnung. Wenn Sie den paranoiden Weg gewählt haben, möchten Sie danach immer noch das schnelle Wischen machen, und das ist keine Paranoia. Das Vorhandensein von rein zufälligen Daten ist einfach und billig zu erkennen und erhöht die verdacht, dass es sich tatsächlich um verschlüsselte Daten handelt. Sie können unter Folter sterben, weil Sie den Entschlüsselungsschlüssel nicht preisgegeben haben.

Sehr langsamer Weg (verrückt paranoid)

Sogar der Autor der bahnbrechenden 1996-Zeitung über das Zerkleinern schrieb einen Epilog, der besagt, dass dies für moderne Hardware veraltet und nicht erforderlich ist.

Aber wenn Sie noch viel Freizeit haben und es Ihnen nichts ausmacht, Ihre Festplatte mit viel Überschreiben zu verschwenden, dann ist es so:

dd if=/dev/zero of=zero.small.file bs=1024 count=102400
sync ; sleep 60 ; sync
shred -z zero.small.file
dd if=/dev/zero of=zero.file bs=1024
sync ; sleep 60 ; sync
rm zero.small.file
shred -z zero.file
sync ; sleep 60 ; sync
rm zero.file

Hinweis: dies ist im Wesentlichen äquivalent zur Verwendung des Secure-Delete-Tools.


, Bevor Sie die Bearbeiten, dieser Beitrag war eine Umschreibung von David Spillett ist. Die "cat" - Befehl erzeugt eine Fehlermeldung, aber ich kann nicht schreiben, Kommentare auf Beiträge anderer Leute.

 49
Author: user39559,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2011-04-28 23:27:45

Es gibt zumindest in Ubuntu ein nullfreies Dienstprogramm:

Http://manpages.ubuntu.com/manpages/natty/man8/zerofree.8.html

   zerofree — zero free blocks from ext2/3 file-systems

   zerofree  finds  the  unallocated, non-zeroed blocks in an ext2 or ext3
   filesystem (e.g. /dev/hda1) and fills them with zeroes. This is  useful
   if  the  device  on  which this file-system resides is a disk image. In
   this case, depending on the type of disk image, a secondary utility may
   be  able  to  reduce the size of the disk image after zerofree has been
   run.

   The usual way to achieve  the  same  result  (zeroing  the  unallocated
   blocks)  is to run dd (1) to create a file full of zeroes that takes up
   the entire free space on the drive, and then delete this file. This has
   many disadvantages, which zerofree alleviates:

      ·  it is slow;

      ·  it makes the disk image (temporarily) grow to its maximal extent;

      ·  it  (temporarily)  uses  all  free  space  on  the disk, so other
         concurrent write actions may fail.

   filesystem has to be unmounted or mounted  read-only  for  zerofree  to
   work.  It  will exit with an error message if the filesystem is mounted
   writable. To remount the  root  file-system  readonly,  you  can  first
   switch to single user runlevel (telinit 1) then use mount -o remount,ro
   filesystem.

Überprüfen Sie auch diesen Link über zerofree: Halten Dateisystem Bilder spärlich - es ist von seinem Autor-Ron Yorston (9. August 2012)

 28
Author: osgx,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-01-05 14:51:12

So machen Sie es mit einer GUI.

  1. Installation BleachBit
  2. Als root ausführen, indem Sie auf Applications - System Tools - BleachBit als Administrator klicken.
  3. Teilen Sie ihm in den Einstellungen mit, welche Pfade Sie möchten. Im Allgemeinen errät es sie gut. Sie möchten für jede Partition einen beschreibbaren Pfad angeben. Im Allgemeinen sind das /home /username und / tmp, es sei denn, sie sind dieselbe Partition, in diesem Fall wählen Sie einfach eine aus.
  4. Aktivieren Sie das Kontrollkästchen System-Freie Festplatte löschen Raum.
  5. Klicken Sie Auf Löschen.

Der Fortschritt von BleachBit über dd (was sonst sehr schön ist) ist, wenn die Festplatte endlich voll ist, erstellt BleachBit kleine Dateien, um die Inodes zu löschen (die Metadaten wie Dateinamen usw. enthalten).

 3
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2009-11-06 12:40:36

Wischen Sie ein Laufwerk mit Höchstgeschwindigkeit.

Typische Anweisungen zum Verschlüsseln eines Laufwerks heutzutage werden Ihnen sagen, zuerst das Laufwerk zu löschen.

Der folgende Befehl füllt Ihr Laufwerk mit AES-Chiffretext.

Verwenden Sie eine Live-CD, wenn Sie Ihr Hauptstartlaufwerk löschen müssen.

Öffnen Sie ein Terminal und erhöhen Sie Ihre Berechtigungen:

sudo bash

Lassen Sie uns alle Laufwerke auf dem System auflisten, um sicher zu sein:

cat /proc/partitions

HINWEIS: Ersetzen Sie /dev/sd{x} durch das Gerät, das Sie löschen möchten.

WARNUNG: Dies ist nicht für Amateure! Sie könnten Ihr System unbootable machen!!!

sudo openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt < /dev/zero > /dev/sd{x}

Ich bin fassungslos, wie schnell das geht.

 3
Author: Roger Lawhorn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-09-27 18:41:12

Ich verwende dd, um eine oder mehrere große Dateien zuzuweisen, um den freien Speicherplatz zu füllen, und verwende dann ein Dienstprogramm zum sicheren Löschen.

Zum Zuweisen von Dateien mit dd try:

dd if=/dev/zero of=delete_me bs=1024 count=102400

Dadurch wird eine Datei mit dem Namen delete_me mit einer Größe von 100 MB generiert. (Hier ist bs die auf 1k gesetzte" Blockgröße " und count die Anzahl der zuzuweisenden Blöcke.)

Verwenden Sie dann Ihr bevorzugtes Dienstprogramm zum sicheren Löschen (ich habe es verwendet shred) auf die so erstellten Dateien.

BEACHTEN SIE JEDOCH FOLGENDES: Pufferung bedeutet, selbst wenn Sie die ganze Diskette machen, erhalten Sie möglicherweise nicht absolut alles!


Dieser Link empfiehlt scrub für freies Platzwischen. Habe es nicht versucht.

 2
Author: dmckee --- ex-moderator kitten,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-06-26 02:13:46

Sie können Ihren freien Speicherplatz mithilfe des Secure Deletion-Pakets löschen.

In diesem Paket finden Sie das Tool sfill, mit dem Daten, die sich auf dem verfügbaren Speicherplatz auf Medien befinden, auf sichere Weise gelöscht werden können, die von Dieben, Strafverfolgungsbehörden oder anderen Bedrohungen nicht wiederhergestellt werden können.

Um das Secure Deletion-Paket unter Linux (Ubuntu) zu installieren, installieren Sie es mit dem folgenden Befehl:

$ sudo apt-get install secure-delete

Dann zu löschen Ihre Daten kein freier Speicherplatz, versuchen Sie Folgendes Befehl:

sfill -f -v -ll /YOUR_MOUNTPOINT/OR_DIRECTORY

Wobei / YOUR_MOUNTPOINT / OR_DIRECTORY Ihr Mount-Punkt ist(df -h, mount) oder Verzeichnis, um den freien Speicherplatz zu löschen.

Lesen Sie das Handbuch unter http://manpages.ubuntu.com/manpages/hardy/man1/sfill.1.html

 2
Author: kenorb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-11-02 18:39:32

Benutze dd und nulle einfach den freien Speicherplatz. es ist ein Mythos, dass Daten mehrmals überschrieben werden müssen (fragen Sie einfach Peter Guntmann) und zufällige Daten , im Gegensatz zu 1, dann 0 impliziert unnatürliche Aktivität. das Endergebnis ist ein sauberes Laufwerk mit viel weniger Zeit zum Schreiben. außerdem können sichere Löschprogramme nicht garantieren, dass sie sogar die reale Datei auf modernen Dateisystemen(journaled) überschreiben. tun Sie sich einen Gefallen und holen Sie sich photorec, scannen Sie Ihr Laufwerk, um das Chaos zu sehen, wischen Sie es mit 1 und optional mit Nullen, damit es unberührt aussieht. wenn photorec immer noch Sachen findet, denken Sie daran, dass es alles scannt, also tun Sie dies erneut sorgfältig mit root user.

Denken Sie daran, dass die cia/fbi / nsa keine ausgefallene Maschine hat, die den tatsächlichen Zustand Ihrer magnetischen Medienbits lesen kann. das war alles nur ein Papier, das vor langer Zeit geschrieben wurde. ein "was-wäre-wenn". sie müssen nur 1 Mal wischen.

 1
Author: fred,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-05-25 20:40:26

Einfacher ist die Verwendung von scrub:

scrub -X dump

Dadurch wird ein dump - Ordner am aktuellen Speicherort erstellt und eine Datei erstellt, bis die Festplatte voll ist. Sie können ein Muster mit der Option -p (nnsa|dod|bsi|old|fastold|gutmann) auswählen.

Es ist nicht einfach, Scrub zu installieren (siehe die Ubuntu-Foren zu diesem), aber sobald die Installation abgeschlossen ist, haben Sie ein wirklich EINFACHES und effizientes Werkzeug in der Hand.

 1
Author: FMaz008,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2014-09-12 21:22:47

Hier ist das "sdelete.sh" skript, das ich benutze. Siehe Kommentare für details.

# Install the secure-delete package (sfill command).

# To see progress type in new terminal:
# watch -n 1 df -hm

# Assuming that there is one partition (/dev/sda1). sfill writes to /.
# The second pass writes in current directory and synchronizes data.
# If you have a swap partition then disable it by editing /etc/fstab
# and use "sswap" or similar to wipe it out.

# Some filesystems such as ext4 reserve 5% of disk space
# for special use, for example for the /home directory.
# In such case sfill won't wipe out that free space. You
# can remove that reserved space with the tune2fs command.
# See http://superuser.com/a/150757
# and https://www.google.com/search?q=reserved+space+ext4+sfill

sudo tune2fs -m 0 /dev/sda1
sudo tune2fs -l /dev/sda1 | grep 'Reserved block count'

sudo sfill -vfllz /

# sfill with the -f (fast) option won't synchronize the data to
# make sure that all was actually written. Without the fast option
# it is way too slow, so doing another pass in some other way with
# synchronization. Unfortunately this does not seem to be perfect,
# as I've watched free space by running the "watch -n 1 df -hm"
# command and I could see that there was still some available space
# left (tested on a SSD drive).

dd if=/dev/zero of=zero.small.file bs=1024 count=102400
dd if=/dev/zero of=zero.file bs=1024
sync ; sleep 60 ; sync
rm zero.small.file
rm zero.file

sudo tune2fs -m 5 /dev/sda1
sudo tune2fs -l /dev/sda1 | grep 'Reserved block count'
 1
Author: Czarek Tomczak,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-09-27 18:35:35

Sie haben wahrscheinlich bereits das GNU coreutils-Paket auf Ihrem System installiert. Es bietet den Befehl shred.

 1
Author: dkaylor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-09-29 04:29:55

Ich habe eine einfache Lösung gefunden, die unter Linux und macOS funktioniert. Verschieben Sie den Stammordner Ihrer Festplatte und starten Sie diesen Befehl:

for i in $(seq 1 //DISKSPACE//); do dd if=/dev/zero of=emptyfile${i} bs=1024 count=1048576; done; rm emptyfile*;

Wobei / / DISKSPACE/ / die Größe in GB Ihrer Festplatte ist.

 1
Author: Enrico,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-09-30 09:27:44

Ich benutze manchmal diesen Bash Einzeiler:

while :; do cat /dev/zero > zero.$RANDOM; done

Wenn es anfängt zu sagen, dass die Festplatte voll ist, drücken Sie einfach Strg+C und entfernen Sie die erstellten zero.* Dateien.

Es funktioniert auf jedem System, unabhängig von der Dateigröße.
Ignoriere alle cat: write error: File too large Fehler.

 0
Author: Nicolas Raoul,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-09-08 19:29:40

Dies ist keine Antwort! noch eine Anmerkung für diejenigen, die bei der Verwendung von pv...also don ' T bother voting.

Auf Linux Mint 17.3 können Sie verwenden pv (pipe view), um den Fortschritt des Schreibens zu erhalten. Beispiel:

# Install pv (pipe view)
sudo apt-get install pv

# Write huge file of approximate size of /dev/sdb, using urandom data:
pv --timer --average-rate --progress --numeric --eta --interval 5 --size "$(blockdev --getsize64 /dev/sda )" /dev/urandom >rand.file

Der Vorteil hier ist, dass Sie einen Fortschrittsbalken, ETA und kontinuierlich aktualisierte Datenrate erhalten. Der Nachteil ist, dass dies in einer Zeile geschrieben wird und wenn die Festplatte voll ist (einen Fehler zurückgibt), verschwindet sie. Dies geschieht, weil die volle die Größe ist ungefähr, da das Betriebssystem wahrscheinlich die Festplatte verwendet, während dieser sehr lange Vorgang stattfindet, insbesondere auf dem Betriebssystemvolume.

Auf einem sehr alten HD erhalte ich eine Datenrate über 13 MB/s mit /dev/urandom und über 70 MB / s, wenn /dev/zero verwendet wird. Dies würde sich wahrscheinlich weiter verbessern,wenn ein raw dd oder cat und nicht pv.

 0
Author: not2qubit,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-05-11 16:59:32

Sobald die Datei aus dem Datensatz des Dateisystems verschwunden ist, sind die Daten, die auf der Festplatte verbleiben, eine bedeutungslose Folge von Einsen und Nullen. Wenn Sie diese bedeutungslose Sequenz durch eine andere bedeutungslose Sequenz ersetzen möchten, kann ich einige kommerzielle Produkte zum sicheren Löschen von Laufwerken wie arconis empfehlen.

 -13
Author: Ilya Biryukov,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2009-08-06 23:59:57