Da ich aktuell ein paar Platten unter Linux zu löschen hatte will ich hier kurz beschreiben, wie ich es gemacht habe.
Da es sich hierbei um einen länger laufenden Task handelt ist die Gefahr groß, zwischendurch die Verbindung zu verlieren. Als äußerst hilfreich hat sich dafür die Verwendung von screen einem Multiplexer für Konsolen. Damit ist es möglich, innerhalb einer ssh-Session verschiedene virtuelle Konsolensitzungen zu erzeugen und zu verwalten. Darüberhinaus können Sitzungen getrennt und später fortgeführt werden. Ich starte auf dem System also eine screen – Session mit
screen -S NameDerSitzung
Das eigentliche Löschen der Festplatte erreiche ich, in dem ich die gesamte Festplatte mit Nullen vollschreibe. Dies erreiche ich mit dem Befehl dd:
dd if=/dev/zero of=/dev/sda2 bs=65535
Wobei /dev/sda2 durch die zu löschende Festplatte zu ersetzen ist. Wie die zu löschende Platte bzw. Partition heist kann man sich mit fdisk -l anzeigen lassen.
Das dumme ist nur, das mir dd standardmäßig keinen Fortschritt anzeigt und der ganze Prozess je nach Platten- bzw. Partitionsgröße ewig dauern kann. Ich kann dd aber zur Ausgabe des Fortschrittes bewegen, wenn ich ihm ein Signal SIGUSR1 (10) schicke. Dazu mache ich mit [Strg] + [A] + [C] in meiner Screen – Session einfach eine neue Konsole auf. Dort angekommen muss ich erstmall die Prozess ID meines dd – Prozesses herausfinden:
ps auxw | grep dd
Mit der Prozess ID kann ich das Signal in einer Endlosschleife absetzen:
while /bin/true; do sleep 5; kill -USR1 HierDiePID; done
Mit [Strg] + [A] + [Leertaste] kann ich wieder in meine erste Session zurück wechseln und den Fortschritt meiner Löschaktion beobachten.