Festplatte löschen – mit Zufallszahlen

  • dd if=/dev/zero of=/dev/sdX bs=1M überschreibt mit Nullen
  • dd if=/dev/urandom of=/dev/sdX bs=1M überschreibt mit Zufallszahlen – ist aber zu langsam (bei einigermaßen aktuellen, großen Platten)
  • openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=256 count=1 2>/dev/null | base64)" -nosalt </dev/zero >/dev/sdXX geht schnell. Idee dahinter: /dev/zero mit mit openssl verschlüsselt und nur das Passwort dazu kommt aus /dev/urandom.

7 thoughts on “Festplatte löschen – mit Zufallszahlen

  1. moin,

    Dieses Beispiel zeigt den Fortschritt nicht an, sodass man zu keinem Zeitpunkt … Na den Sinn einer Fortschrittsanzeige muss ich ja nicht erklären….

    Bei dd “status=progress” einzufügen fällt wohl aus.

    Hat die Vergrößerung von BS einen praktischen Sinn?
    dd hat kein Outputfile… eine Erklärung dazu würde dem Text helfen. (Mir auch)

    1. Stimmt. Für eine Fortschrittsanzeige verwende ich inzwischen meist ddrescue infile outfile.

      bs=1M mache ich, weil (zumindest vor Jahren) die Erfahrung gemacht habe, dass das zu deutlich schnelleren Transfers führt.

      Was meinst du mit “dd hat kein Outputfile” ?

  2. moin,

    bs=1M

    Das mit bs=1M in den ersten beiden Beispielen verstehe ich, aber in der SSL-Version schreibst Du 256. Das hat an der Stelle auf die Schreibgeschwindigkeit scheinbar keinen Einfluss mehr, weil … ja, keine Ahnung, welches Programm da nun für die Performance verantwortlich ist.

    Die bs=256 könnte aber auch ein Schreibfehler sein und auch dort könnte/müsste man bs=1M oder 4M schreiben? Für die neueren 4K Platten und welche mit 16 oder mehr MB Cache könnten höhere Werte vorteilhaft sein, wenn es um Performance geht, oder nicht?

    Outputfile

    dd hat kein Outputfile, weil der Parameter “of=…” nicht hingeschrieben ist. Irgendwer muss ja trotzdem Empfänger der generierten, verschlüsselten Daten sein.

    Performance

    Bei der alten Variante schreibt “mein Rechner” (i3 8300/SATA) mit status=progress 40MB/sec auf die Platte und bricht mit 2 parallel beschriebenen Platten auf 20MB/sec ein. (Das starke Einbrechen erklärt, wieso es nicht lohnt mehrere Platten parallel zu löschen.)
    Bei einer 4,5 TB Platte dauert das kalkulierte 32 Std., wenn man den Rechner nicht zwischendurch mit sudo shutdown now herunterfährt. :O

    Mit Deiner SSL-Variante komme ich auf knapp 10 Std, wenn ich beachte, dass mir nicht genau aufgefallen ist, wann die LED der Festplatte ausgegangen ist.

    Zeitangabe

    In einem Skript kann man einfach einen Befehl einfügen, der die Uhrzeit (vorher und) nachher ausgibt. Wenn Du eine Ergänzung für Deinen Einzeiler hättest, wäre das ein schönes Gimmick, das immerhin nachträglich die Berechnung ermöglicht.

    date +”Startzeit: %T” && … Dein Bandwurm … && date +”Endzeit: %T” … könnte ein möglicher Rahmen sein. Beim nächsten Mal mal ausprobieren.

    ddrescue / debtab (.deb& .rpm) / Scanner

    ddrescue habe ich mal bei Wikipedia angelesen. Muss aber erst aufklären, wie ich das in Manjaro einbauen kann. Die schreiben nur von .deb und .rpm Paketen für die entsprechenden DIstrbutionen und das Skript debtab aus einen anderen Posting von Dir hab ich zwar bei git/github gefunden, aber mit AUR kenne ich mich noch nicht aus und finde es dort nicht. Eigentlich finde ich das AUR noch nicht.

    In der Zwischenzeit muss ich mich über andere Dinge ärgern: z.B., dass ich meinen Scanner auch in Manjaro nicht zum Laufen bekomme. Epson bietet ebenfalls .deb und .rpm Pakete an. Schon unter Mint hab ich die nicht dazu bekommen, dass die mit meinem Scanner spielen wollen. Ich dachte, weil Manjaro durchgängig neuere Pakete hat, dass das da problemloser durchstartet. Bisher habe ich ein Programm immerhin dazu bekommen, dass es mir ansagt, dass es einen USB Scanner von Epson gefunden hat. huiiii. Aber iScan von Epson will auch noch installiert werden. gggrrrr

    Ich stelle immer wieder fest, wieso Linux vermutlich in den nächsten 20-30 Jahren nicht am Desktop ankommen wird. Das Killerfeature ist derzeit “nur”, dass es nicht das Limit von NTFS (eigentlich den Programmen) mit 256 Zeichen für eine Pfadangabe hat.

    Blog

    Vielleicht magst Du ein Plugin für den Blog installieren, das eine Benachrichtigung sendet, wenn auf einen Kommentar eine Antwort geschrieben wurde. Für faule Leute, die nicht stündlich gucken, ob eine Antwort gekommen ist und andere vielleicht auch, ist das sicherlich ein praktischer Komfortgewinn.

    1. Die bs=256 könnte aber auch ein Schreibfehler sein und auch dort könnte/müsste man bs=1M oder 4M schreiben? Für die neueren 4K Platten und welche mit 16 oder mehr MB Cache könnten höhere Werte vorteilhaft sein, wenn es um Performance geht, oder nicht?

      Ja, vermutlich. Da habe ich auch keine detaillierten Experimente gemacht.

      dd hat kein Outputfile…

      Ah, Du meinst in openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=256 count=1 2>/dev/null | base64)" -nosalt </dev/zero >/dev/sdXX. Dort fehlt das “of”, weil der Output nach Stdout gehen soll, damit er als “pass” an base64 und dann an openssl geht. Hier ist es ja so, dass openssl die “Massen” an Daten produziert und dann direkt auf die Festplatte schreibt.

      Danke für die anderen Infos uns Hinweise. – Zum Notification-Plugin für das Blog: Hast Du einen Tipp, was sich da bei WordPress gut eignet?

  3. moin,

    tja, also für das Notification-Plugin hab ich keine aktuelle Empfehlung. Ich hab mal was versucht und in meinen vorsortierten Plugins ist folgende Liste:
    – comment-mail
    – mail-subscribe-list
    – manage-notification-emails
    Was davon was kann oder noch aktuell ist, weiß ich nicht.

    Meine Idee die Befehle mit && zu verketten klappt nur bedingt.
    Die 1. Verkettung funktioniert, die Zeit erfolgreich angezeigt wird. Die Löschung beginnt, aber
    die 2. Verkettung funktioniert nicht, weil die Löschung – zwangsläufig – mit einem Fehler abbricht. Die 2. Verkettung muss wohl mit || erfolgen. Also:
    date +”Startzeit: %T” && … Dein Bandwurm … || date +”Endzeit: %T”

    Ohne Endzeit habe ich immer noch nur Schätzungen für die 4,5 TB Platte: 10,5 -12 Std.

    Ich hatte doch Überschriften mit bei meinen Themen, so ist das gar nicht mehr übersichtlich. 🙁

    Hast Du Tipps für debtab?
    Ich bekomme folgende Meldung:

    [user@computer data]$ sudo ./debtab.sh iscan-data_1.39.2-1_all.deb
    > Extracting package data…
    > Fixing possible directories structure differencies…
    > Generating .PKGINFO file…

    :: Enter Packager name:
    iscan_2.30

    :: Enter package license (you can enter multiple licenses comma separated):
    no

    *** Creation of .PKGINFO file in progress. It may take a few minutes, please wait…

    Warning: These conflicts (conflict = fields) could not be translated into Arch Linux packages names:
    iscan

    > Checking and generating .INSTALL file (if necessary)…

    :: If you want to edit .PKGINFO and .INSTALL files (in this order), press (1) For vi (2) For nano (3) For default editor (4) For a custom editor or any other key to continue: 2

    > Generating .MTREE file…

    > Creating final package…
    ./debtab.sh: Zeile 3165: fakeroot: Kommando nicht gefunden.
    mv: der Aufruf von stat für ‘*.zst’ ist nicht möglich: Datei oder Verzeichnis nicht gefunden
    > Package successfully created!
    > Removing leftover files…
    [user@computer data]$

    Probleme sind also a) fakeroot, b) mv: der Aufruf von stat für ‘*.zst’ ist nicht möglich

    Irritierend ist auch, das ich in meiner tar.gz Datei drei .deb-Pakete habe, die ich scheinbar alle einzeln konvertieren müsste und …. die dann alle einzeln in Manjaro installiert werden müssen? Als Workaround kann ich mir das noch vorstellen, aber dass die Pakete wieder in ein gemeinsames Paket geschnürt werde und dann gemeinsam im nächsten OS installiert werden, “wäre schon schön”…..

    Hab jedenfalls mal ein Issue bei github aufgemacht:
    https://github.com/helixarch/debtap/issues/70

    1. Du kannst Markdown zur Formatierung benutzen. Ich habe bei Deinem Betrag mal die Überschriften markiert.

      Die Plugins werde ich mir mal anschauen. Danke sehr.

      Die Kommandos kannst Du auch mit ; verknüpfen.

      Zu den anderen Themen kann ich leider auch nicht viel beitragen. Das passt auch nicht wirklich hierher.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.