Wie kann ich freien Festplattenspeicher in Linux löschen?

236441
Alex B

Wenn eine Datei gelöscht wird, verbleibt der Inhalt möglicherweise weiterhin im Dateisystem, sofern nicht ausdrücklich etwas anderes überschrieben wird. Der wipeBefehl kann Dateien sicher löschen, scheint jedoch nicht das Löschen von freiem Speicherplatz zu erlauben, der nicht von Dateien verwendet wird.

Womit soll ich das erreichen?

133
Die einzige sichere Lösung kann sein, Ihre Dateien an anderer Stelle zu speichern, die gesamte Partition zu löschen, das Dateisystem neu zu erstellen und anschließend die Dateien wiederherzustellen. Ich habe [photorec] (http://www.cgsecurity.org/wiki/PhotoRec) ausgeführt und war schockiert darüber, wie viel Material auch nach dem "Löschen" von freiem Speicherplatz abgerufen werden kann. Eine Kompromisslösung besteht darin, die linke Begrenzung Ihrer Partition um 6% ihrer Größe zu verschieben, nachdem Sie den anscheinend freien Speicherplatz gelöscht haben. user39559 vor 13 Jahren 0

16 Antworten auf die Frage

100
fnord_ix

Warnung: Moderne Festplatten- / SSD-Hardware und moderne Dateisysteme können Daten an Orten wegschmeißen, an denen sie nicht gelöscht werden können. Daher können bei diesem Vorgang immer noch Daten auf der Festplatte verbleiben. Die einzig sichere Möglichkeit, Daten zu löschen, ist der ATA-Befehl zum sicheren Löschen (sofern korrekt implementiert) oder die physische Zerstörung. Siehe auch Wie kann ich zuverlässig alle Informationen auf einer Festplatte löschen?

Sie können eine Reihe von Tools verwenden, die als Secure-Delete bezeichnet werden.

sudo apt-get install secure-delete 

Dies hat vier Werkzeuge:

srm- Sicheres Löschen einer vorhandenen Datei
smem- Sicheres Löschen von Spuren einer Datei aus dem RAM
sfill- Löschen Sie den als leer markierten Speicherplatz auf Ihrer Festplatte
sswap- Löschen Sie alle Daten aus dem Swap Space.

Aus der Manpage von srm

srm ist darauf ausgelegt, Daten auf Datenträgern auf sichere Weise zu löschen, die von Dieben, Strafverfolgungsbehörden oder anderen Bedrohungen nicht wiederhergestellt werden können. Der Wipe-Algorithmus basiert auf dem Aufsatz "Sicheres Löschen von Daten aus magnetischen und Halbleiterspeichern", der auf dem 6. Usenix-Sicherheitssymposium von Peter Gutmann, einem der führenden zivilen Kryptographen, vorgestellt wurde.

Der sichere Datenlöschvorgang von srm läuft folgendermaßen ab:

  • 1 Durchlauf mit 0xff
  • 5 zufällige Durchgänge. /dev/urandomwird für einen sicheren RNG verwendet, sofern verfügbar.
  • 27 Durchgänge mit von Peter Gutmann definierten Sonderwerten.
  • 5 zufällige Durchgänge. /dev/urandomwird für einen sicheren RNG verwendet, sofern verfügbar.
  • Benennen Sie die Datei in einen zufälligen Wert um
  • Datei abschneiden

Als zusätzliche Sicherheitsmaßnahme wird die Datei im O_SYNC-Modus geöffnet und nach jedem Durchlauf wird ein fsync()Anruf durchgeführt. srmschreibt 32-KByte-Blöcke zum Zweck der Geschwindigkeit, füllt Puffer von Plattencaches, um sie zum Leeren zu zwingen, und überschreibt alte Daten, die zu der Datei gehörten.

Die aktuelle "offizielle" Homepage von Secure-Delete ist schwer zu finden. Eine vielleicht ältere Version behauptet, dass es keine Fehlerberichte gibt, gleichzeitig aber kein offenes Fehlerverfolgungssystem, bei dem ich einen Fehler melden könnte, den ich gefunden habe. Die Secure-Delete-Startseite weist auch darauf hin, dass ** möglicherweise ** nicht alle nicht verwendeten Datenblöcke gelöscht werden. Dies hängt vom verwendeten Dateisystem ab, was wahr ist. user39559 vor 13 Jahren 5
Bei modernen Festplatten (größer als etwa 20 GB) ist es völlig sinnlos, mehrere Durchgänge durchzuführen und auf Ewigkeiten zu warten. Die Installation von Spezialwerkzeugen hat sich auch als unbrauchbar erwiesen (was möglicherweise erklärt, warum Secure-Delete keine Startseite mehr hat). Führen Sie dazu einfach die entsprechende Partition aus: `cat / dev / zero> nosuchfile; rm nosuchfile`. mivk vor 12 Jahren 10
@mivk: Warum ist es sinnlos mehr als einen Pass zu machen? Und warum / dev / zero anstelle von / dev / random verwenden? Liegt das an Geschwindigkeitsbedenken? naught101 vor 11 Jahren 1
Die Verwendung von / dev / zero ist viel schneller. Wenn Sie freien Speicherplatz aus / dev / random schreiben, muss der Kernel all diese zufälligen Daten sofort generieren. Es ist eine unterhaltsame Art und Weise, wie Ihr durchschnittlicher Lastsprung auf das Maximum ... dafydd vor 10 Jahren 5
Die Frage, ob mehrere Wischvorgänge erforderlich sind, wird hier beantwortet: [Warum ist das mehrmalige Schreiben von Nullen (oder Zufallsdaten) über eine Festplatte besser als nur ein einziges Mal?] (Http://security.stackexchange.com/questions/10464) / Warum ist das Schreiben von Nullen oder zufälligen Daten über eine Festplatte (mehrere Male besser)? sleske vor 10 Jahren 2
Das Befüllen der Festplatte mit Nullen hat den zusätzlichen Vorteil, dass der verlorene Speicherplatz von einer virtuellen VM-Festplatte wiederhergestellt wird, wenn diese Festplatte auf einem ZFS-Volume gespeichert wird. Ich habe derzeit einen Datenträger mit einer scheinbaren Größe von 8,9 GB, verbraucht jedoch laut ZFS 968 MB nach dieser Methode. haventchecked vor 7 Jahren 1
Ich habe diesen Beitrag vor 7 Jahren und 10 Monaten gefunden. Ich muss diese Datenbank lieben. TNX. SDsolar vor 6 Jahren 1
67
David Spillett

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

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

(Von einem Verzeichnis des Dateisystems aus ausführen, das Sie löschen möchten)
(der syncBefehl ist eine Paranoia-Maßnahme, mit der sichergestellt wird, dass alle Daten auf die Festplatte geschrieben werden. Ein intelligenter Cache-Manager stellt möglicherweise fest, dass er Schreibvorgänge für ausstehende Blöcke abbrechen kann, wenn die Datei nicht verbunden ist )

Während dieses Vorgangs gibt es eine Zeit, zu der überhaupt kein freier Speicherplatz im Dateisystem vorhanden ist. Dies kann mehrere zehn Sekunden dauern, wenn die resultierende Datei groß und fragmentiert ist, so dass das Löschen eine Weile dauert. So reduzieren Sie die Zeit, wenn der freie Speicherplatz 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 das Lesen der alten Dateiinhalte ohne teure forensische Operationen zu stoppen. Für eine etwas sicherere, aber langsamere Variante ersetzen Sie diese /dev/zeromit /dev/urandom. Für mehr Paranoia müssen Sie mehrere Schritte ausführen. /dev/urandomWenn Sie jedoch so viel Aufwand benötigen, ist das shredDienstprogramm aus dem coreutils-Paket der richtige Weg:

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 in diesem Fall die kleine Datei vor dem Erstellen der größeren Datei geschreddert wird. Sie kann daher entfernt werden, sobald die größere Datei fertiggestellt ist, anstatt darauf zu warten, dass die Datei geschreddert wird, und das Dateisystem bleibt für die Zeit, die benötigt wird, leer. Der Shred-Vorgang dauert sehr lange über eine große Datei und wenn Sie nicht versuchen, etwas vor der NSA zu verbergen, ist IMO nicht unbedingt erforderlich.

Alle oben genannten Funktionen sollten auf jedem Dateisystem funktionieren.

Dateigrößenlimits:

Wie DanMoulding in einem Kommentar unten ausführt, kann dies bei einigen Dateisystemen zu Problemen mit der Dateigröße führen.

Für FAT32 wäre dies definitiv ein Problem aufgrund des 2-GiB-Dateilimits: Die meisten Datenträger sind heutzutage größer als dies (8TiB ist der Datenträgergrößenlimit IIRC). Sie können dies umgehen, indem Sie die große cat /dev/zeroAusgabe durchleiten split, um mehrere kleinere Dateien zu generieren und die Schritte für das Shreddern und Löschen entsprechend anzupassen.

Bei ext2 / 3/4 ist das weniger bedenklich: Bei dem standardmäßigen / allgemeinen 4K-Block beträgt die Dateigrößenbegrenzung 2 TB, daher müssten Sie ein großes Volumen haben, um ein Problem darzustellen (die maximale Volumengröße unter diesen Bedingungen.) ist 16 TiB).

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

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

Startpunkte für weitere Informationen:
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 für virtuelle Geräte zusätzliche Überlegungen:

  • Für spärlich zugewiesene virtuelle Festplatten sind andere Methoden, wie die, die von verwendet zerofreewerden, schneller (wenn auch catund dddies ist kein Standardwerkzeug, auf das Sie sich verlassen können, in nahezu jedem Unix-ähnlichen Betriebssystem verfügbar zu sein).

  • Beachten Sie, dass durch das Nullsetzen eines Blocks auf einem virtuellen Gerät mit geringer Dichte der Block möglicherweise nicht auf dem zugrunde liegenden physischen Gerät gelöscht wird. Ich würde sogar so weit gehen, dass es unwahrscheinlich ist - der virtuelle Festplattenmanager macht den Block einfach als nicht mehr verwendet so kann es später noch etwas zugewiesen werden.

  • Selbst für virtuelle Geräte mit fester Größe haben Sie möglicherweise keine Kontrolle darüber, wo sich das Gerät physisch befindet, sodass Sie es jederzeit um seinen aktuellen Standort oder auf einen neuen Satz physischer Festplatten verschieben können. Sie können den aktuellen Standort jedoch nicht löschen Alle früheren Standorte, an denen sich der Block möglicherweise bereits befunden hat.

  • Für die oben genannten Probleme auf virtuellen Geräten: Wenn Sie nicht die Hosts kontrollieren und den nicht zugewiesenen Speicherplatz nach dem Löschen der Festplatten in der VM oder dem Verschieben des virtuellen Geräts sicher löschen können, können Sie danach nichts dagegen unternehmen Tatsache. Die einzige Möglichkeit besteht darin, von Anfang an die vollständige Festplattenverschlüsselung zu verwendenNichts Unverschlüsseltes wird also in erster Linie auf die physischen Medien geschrieben. Es kann natürlich immer noch ein Aufruf zum Löschen von freiem Speicherplatz in der VM vorhanden sein. Beachten Sie auch, dass FDE spärliche virtuelle Geräte weniger nützlich machen kann, da die Virtualisierungsebene nicht wirklich erkennen kann, welche Blöcke nicht verwendet werden. Wenn die Dateisystemschicht des Betriebssystems Trimmbefehle an das virtuelle Gerät sendet (als ob es sich um eine SSD handelt) und diese vom virtuellen Controller interpretiert wird, kann dies das Problem lösen. Ich kenne jedoch keine Umstände, unter denen dies tatsächlich geschieht und eine größere Die Diskussion darüber ist an anderer Stelle eine Angelegenheit (wir sind schon fast dem Thema für die ursprüngliche Frage zuwider. Wenn dies Ihr Interesse geweckt hat, könnten einige Experimentier- und / oder Folgefragen in Ordnung sein).

Das einfache Nullstellen kann anscheinend auch mit den `Secure-Delete'-Werkzeugen durchgeführt werden: Mit` sfill -llz` wird die gesamte Prozedur auf einen Durchlauf reduziert, der nur '0' schreibt. foraidt vor 13 Jahren 4
Das dauert eine Weile. Ist es wirklich der schnellste Weg? Ich denke, das Schreiben von GBs Daten wird immer eine Weile dauern ... endolith vor 12 Jahren 0
@endolith: Wenn Sie den freien Speicherplatz in einem aktiven Dateisystem leeren möchten, können Sie nicht so viele Daten über den Dateisystem-Overhead schreiben. Die von fnord_ix vorgeschlagenen Tools zum sicheren Löschen sind möglicherweise schneller, da sie für diesen Aufgabentyp optimiert sind. David Spillett vor 12 Jahren 2
Warum "dd" und nicht "pv"? pbies vor 10 Jahren 0
@pmbiesiada: Wenn `dd` oben verwendet wird, wird es nur für eine sehr kurze Zeit laufen, daher ist der Fortschrittsindikator von 'pv' wenig nützlich. Auch "pv" ist nicht so allgemein verfügbar wie "dd" und "cat". Sie könnten die Vorkommen von "cat" durch "pv" ersetzen, obwohl Sie nur darüber informiert werden, was es getan hat, nicht was es noch zu tun hat und eine ETA. "shred" hat eine Option, um% angezeigt anzuzeigen, während es fortschreitet, wenn Sie den Prozess genauer überwachen möchten, als ihn nur abzubrechen und zu warten, bis der Vorgang abgeschlossen ist. David Spillett vor 10 Jahren 0
Gibt es Bedenken, dass die maximale Dateigröße überschritten wird? Könnte zero.file ein solches Limit erreichen, bevor der gesamte freie Speicherplatz auf dem Laufwerk belegt ist? Dan Moulding vor 10 Jahren 0
@DanMoulding: das hängt vom verwendeten Dateisystem ab. Für FAT32 wäre dies definitiv ein Problem (2GiB-Dateilimit, 8TiB-Datenträgergrößenbeschränkung), mit ext2 / 3/4 weniger: Mit dem standardmäßigen / allgemeinen 4K-Block beträgt die Dateigrößenbeschränkung 2TiB, sodass Sie ein * haben müssen. enormes * Volumen für dieses Problem (die maximale Volumengröße unter diesen Bedingungen beträgt 16 TiB). Unter NTFS ist die maximale Dateilänge in manchen Fällen sogar größer als die maximale Volumenlänge. Siehe http://en.wikipedia.org/wiki/Ext3#Size_limits und http://en.wikipedia.org/wiki/Ntfs#Scalability unter anderen Referenzen. David Spillett vor 10 Jahren 0
Ich würde 'sync' vor den `rm'-Befehlen in Ihren Beispielen einfügen. Ohne Synchronisierung werden möglicherweise viele Daten direkt aus dem Festplatten-Cache im RAM gelöscht, bevor sie tatsächlich auf die Festplatte geschrieben werden. pabouk vor 7 Jahren 0
@pabouk: guter Vorschlag, ich habe die Beispiele entsprechend aktualisiert. David Spillett vor 7 Jahren 0
Die Dokumentation von [`zerofree`] (http://manpages.ubuntu.com/manpages/trusty/man8/zerofree.8.html) besagt, dass es schneller ist als diese Methode. Dies ist also nicht der" schnellste Weg ". endolith vor 7 Jahren 0
@endolith: Von der Beschreibung in der Manpage würde ich erwarten, dass die Variante von zerofree nur für spärlich zugewiesene virtuelle Laufwerke schneller ist. Tatsächlich ist sie bei realen oder virtuellen Festplatten mit fester Größe langsamer, wenn sie vor dem Schreiben lesen um zu bestätigen, dass der Block keinen Inhalt hat. Das Balloning für ein virtuelles Laufwerk sollte auch nicht passieren, da die meisten spärlicheren Festplattentreiber alle Nullen verwenden, da "diesen Block nicht zuweisen". Des Weiteren sind "cat" und "dd" auf fast jedem Unix-ähnlichen Betriebssystem verfügbar, da sie als Standardwerkzeuge gelten, bei denen "zerofree" wahrscheinlich nicht gilt, es sei denn, es wurde explizit hinzugefügt. David Spillett vor 7 Jahren 2
@endolith: "zerofree" würde, wie gesagt, natürlich funktionieren, das in der Manpage erwähnte "gesamte Dateisystem vorübergehend voll" (fast, aber nicht ganz durch die small.file jiggery pokery in meinen Beispielen gemildert). * ist * ein ernsthaftes Anliegen * wenn * Sie dies auf einem derzeit aktiven System durchführen, und "zerofree" wäre in der spezifischen Situation, für die es optimiert wurde, tatsächlich schneller: schwach zugewiesene virtuelle Blockgeräte. Sie können sich jedoch aus Sicherheitsgründen nicht auf ein Löschen auf einem virtuellen Gerät verlassen: Die einzig wahre Antwort ist in diesem Fall die vollständige Geräteverschlüsselung von Anfang an. David Spillett vor 7 Jahren 1
Ich bin alle für Paranoia und allgemeine tragbare Lösungen. Mir scheint jedoch, dass (1) wenn Sie über wenig freien Speicherplatz verfügen, Sie durch den zweistufigen Ansatz (klein und dann alles andere) relativ wenig gewinnen, und (2) wenn Sie viel freien Speicherplatz haben, * ** wahrscheinlich *** sicher, um die kleine Datei vor dem `` sync`` zu entfernen. Der `sync`-Befehl * sollte * blockieren, bis alle Daten geschrieben sind. Wenn Sie dies zuerst tun, müssen Sie jedoch noch eine Weile warten, bevor Sie wieder freie Blöcke erhalten. … (Fortsetzung) Scott vor 5 Jahren 0
(Fortsetzung)… Aber wenn die zweite "Katze" (die Erstellung der großen "Zero.file") sehr lange dauert (und viele * Blöcke * schreibt), dann besteht eine gute Chance, dass alle Blöcke " dd` schrieb an `zero.small.file` und wurde * tatsächlich * auf die Festplatte geschrieben, wenn die` cat` beendet ist. Keine Garantien natürlich; Wenn Sie paranoid sind, seien Sie paranoid. … (Fortsetzung) Scott vor 5 Jahren 0
(Fortsetzung)… (3) Ich bezweifle, wie sehr Sie von dem zweistufigen Ansatz profitieren. Wenn der freie Speicherplatz fragmentiert ist, dauert das Schreiben der Datei viel Zeit. Das Löschen der fragmentierten Datei sollte jedoch nicht lange dauern. Der Kernel muss die * data * -Blöcke nicht erneut lesen. Sie müssen nur die indirekten *** Blöcke lesen und die direkten Blöcke auf die freie Liste * im Speicher setzen. * Scott vor 5 Jahren 0
PS: Für diejenigen unter uns, die in den USA leben, sollte die NSA nicht wirklich ein Problem sein - es ist der große Schreckgespenst der Spionagethriller. Die Amerikaner müssen sich um das FBI sorgen, das wahrscheinlich Zugang zu Technologien hat, die so gut sind wie die NSA. Oder in Ihrem Fall Scotland Yard und / oder MI5. Scott vor 5 Jahren 0
41
user39559

WARNING

I was shocked by how many files photorec could retrieve from my disk, even after wiping.

Whether there is more security in filling the "free space" only 1 time with 0x00 or 38 times with different cabalistic standards is more of an academic discussion. The author of the seminal 1996 paper on shredding wrote himself an epilogue saying that this is obsolete and unecessary for modern hardware. There is no documented case of data being physically replaced zeroes and recovered afterwards.

The true fragile link in this procedure is the filesystem. Some filesystems reserve space for special use, and it is not made available as "free space". But your data may be there. That includes photos, personal plain-text emails, whatever. I have just googled reserved+space+ext4 and learned that 5% of my home partition was reserved. I guess this is where photorec found so much of my stuff. Conclusion: the shredding method is not the most important, even the multi-pass method still leaves data in place.

You can try # tune2fs -m 0 /dev/sdn0 before mounting it. (If this will be the root partition after rebooting, make sure run -m 5 or -m 1 after unmounting it).

But still, one way or another, there may be some space left.

The only truly safe way is to wipe the whole partition, create a filesystem again, and then restore your files from a backup.


Fast way (recommended)

Run from a directory on the filesystem you want to wipe:

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 

Notes: the purpose of the small file is to reduce the time when free space is completely zero; the purpose of sync is to make sure the data is actually written.

This should be good enough for most people.

Slow way (paranoid)

There is no documented case of data being recovered after the above cleaning. It would be expensive and resource demanding, if possible at all.

Yet, if you have a reason to think that secret agencies would spend a lot of resources to recover your files, this should be enough:

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 

It takes much longer time.

Warning. If you have chosen the paranoid way, after this you would still want to do the fast wipe, and that's not paranoia. The presence of purely random data is easy and cheap to detect, and raises the suspicion that it is actually encrypted data. You may die under torture for not revealing the decryption key.

Very slow way (crazy paranoid)

Even the author of the seminal 1996 paper on shredding wrote an epilogue saying that this is obsolete and unecessary for modern hardware.

But if yet you have a lot of free time and you don't mind wasting your disk with a lot of overwritting, there it goes:

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 

Note: this is essentially equivalent to using the secure-delete tool.


Before the edit, this post was a rewrite of David Spillett's. The "cat" command produces an error message, but I can't write comments on other people's posts.

Sie können unter anderen Personen Beiträge mit [50 Ruf] (http://superuser.com/faq#reputation) kommentieren. Gnoupi vor 13 Jahren 0
Es wird erwartet, dass der Befehl "cat" am Ende seines Laufs in meinen Beispielen einen Fehler "kein Platz mehr" anzeigt. Sie können dies ausblenden, indem Sie stderr auf `/ dev / null` umleiten, falls dies ein Problem ist. Ich verwende in der Regel "pv" anstelle von "cat" oder "dd", um die nützliche Fortschrittsanzeige zu erhalten. David Spillett vor 12 Jahren 1
`... wirft den Verdacht auf, dass es sich tatsächlich um verschlüsselte Daten handelt. Sie könnten unter Folter sterben, weil Sie den Entschlüsselungsschlüssel nicht enthüllt haben. «He, genau das habe ich mir gedacht. Ich denke, das heißt, ich bin paranoid ... Navin vor 10 Jahren 4
`/: Schreibvorgang fehlgeschlagen, Dateisystem ist voll auf FreeBSD Alex G vor 8 Jahren 0
Root kann den reservierten Speicherplatz immer verwenden. Wenn Sie Ihre Nullfüllung also als root ausführen, können Sie auch den für 5% reservierten Speicherplatz füllen. die tunefs sind nicht nötig. Es ist immer noch denkbar, dass sich Daten in anderen Teilen des Dateisystems befinden könnten. Nate Eldredge vor 7 Jahren 2
25
osgx

Zumindest in Ubuntu gibt es 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. 

Schauen Sie sich auch diesen Link über zerofree an: Das sparsame Speichern von Dateisystemen - es ist von seinem Autor - Ron Yorston (9. August 2012)

Es ist wichtig, dass das Dateisystem ausgehängt oder schreibgeschützt bereitgestellt werden muss, damit Zerofree funktioniert. AntonioK vor 7 Jahren 2
Es wäre schön, wenn Sie einige Informationen dazu in das Root-Dateisystem aufnehmen. Mein Gefühl ist, dass dies nicht funktionieren wird, weil Sie das Dateisystem aushängen müssten, während Sie das Tool gleichzeitig von diesem Dateisystem ausführen. Ant6n vor 7 Jahren 0
Dies kommt auch mit CentOS davidgo vor 5 Jahren 0
3

So machen Sie es mit einer grafischen Benutzeroberfläche.

  1. Installieren Sie BleachBit
  2. Führen Sie als root aus, indem Sie auf Anwendungen - Systemprogramme - BleachBit als Administrator klicken.
  3. Geben Sie in den Voreinstellungen an, welche Pfade Sie möchten. Im Allgemeinen rät es sie gut. Sie möchten für jede Partition einen beschreibbaren Pfad angeben. Im Allgemeinen sind dies / home / username und / tmp, sofern es sich nicht um dieselbe Partition handelt. Wählen Sie in diesem Fall einfach eine aus.
  4. Aktivieren Sie das Kontrollkästchen System - Freier Festplattenspeicher löschen.
  5. Klicken Sie auf Löschen.

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

[Inspect] (http://sourceforge.net/p/bleachbit/code/2863/tree/trunk/bleachbit/FileUtilities.py#l492) Der Openource-Python-Code von Bleachbit zum Löschen des freien Speicherplatzes von einem Laufwerk für Sie. shadowbq vor 11 Jahren 0
2
dmckee

Ich verwende dd, um eine oder mehrere große Dateien zuzuweisen, um den freien Speicherplatz aufzufüllen, und verwende dann ein sicheres Löschprogramm.

Um Dateien mit dd zuzuordnen, versuchen Sie Folgendes:

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

Dadurch wird eine Datei mit dem Namen delete_me100 MB generiert . (Hier bsist die "Blockgröße" auf 1k gesetzt und countdie Anzahl der zuzuweisenden Blöcke.)

Verwenden Sie dann Ihr bevorzugtes sicheres Löschprogramm (das ich bereits verwendet habe shred) für die so erstellten Dateien.

ANMERKUNG: Pufferung bedeutet, auch wenn Sie die gesamte Festplatte erstellen, erhalten Sie möglicherweise nicht alles!


Dieser Link empfiehlt das scrubLöschen von Speicherplatz. Habe es nicht probiert.

Wenn mir die Erinnerung hilft, habe ich einmal `scrub` ausprobiert, und das gesamte Dateisystem wurde beschädigt. Glücklicherweise hatte ich das gute Gefühl, zuerst mit einem Testdateisystem zu experimentieren, NICHT mit meinen tatsächlichen Daten. landroni vor 9 Jahren 0
2
dkaylor

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

Shred bereinigt ungenutzten Speicherplatz nicht, ohne es zuvor in Dateien zu speichern ... dmckee vor 14 Jahren 3
2
kenorb

Sie können Ihren freien Speicherplatz mit einem sicheren Löschpaket löschen.

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

Um ein sicheres Löschpaket in Linux (Ubuntu) zu installieren, installieren Sie es mit dem folgenden Befehl:

$ sudo apt-get install secure-delete 

Versuchen Sie dann, um Ihre Daten zu löschen, keinen freien Speicherplatz, den folgenden Befehl:

sfill -f -v -ll /YOUR_MOUNTPOINT/OR_DIRECTORY 

Dabei ist / YOUR_MOUNTPOINT / OR_DIRECTORY der Mountpunkt ( df -h, mount) oder das Verzeichnis, in dem der freie Speicherplatz gelöscht wird .

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

2
Roger Lawhorn

Wischen Sie ein Laufwerk mit Höchstgeschwindigkeit ab.

Typische Anweisungen zum Verschlüsseln eines Laufwerks heute geben an, dass Sie das Laufwerk zuerst WIPE WIPE.

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

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

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

sudo bash 

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

cat /proc/partitions 

HINWEIS: Ersetzen Sie /dev/sddas Gerät, das Sie löschen möchten.

ACHTUNG: Dies ist nicht für Amateure! Sie könnten Ihr System nicht mehr booten lassen !!!

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 

Ich bin fassungslos, wie schnell das geht.

1
FMaz008

Einfacher ist das Scrubben :

scrub -X dump 

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

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

Wenn mir der Speicher hilft, habe ich einmal `scrub` ausprobiert und das gesamte Dateisystem beschädigt. Glücklicherweise hatte ich das gute Gefühl, zuerst mit einem Testdateisystem zu experimentieren, NICHT mit meinen tatsächlichen Daten. landroni vor 9 Jahren 0
Sie wissen nicht, was Sie getan haben oder was passiert, aber Scrubben erstellt im Grunde eine neue Datei, bis das Dateisystem gefüllt ist. Es spielt nicht mit der vorhandenen Datei und löscht auch keine davon (zumindest nicht den Befehl, den ich gegeben habe) ... FMaz008 vor 9 Jahren 0
Tatsächlich. Versucht `scrub -X dump_dir` und es scheint gut funktioniert zu haben. Die Installation auf Ubuntu 14.04 ist übrigens sehr unkompliziert: `apt-get install scrub`. landroni vor 9 Jahren 1