GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So verwenden Sie dd unter Linux, ohne Ihre Festplatte zu zerstören

Dieser Artikel ist ein Auszug aus Kapitel 4 von Linux in Action, herausgegeben von Manning.

Egal, ob Sie versuchen, Daten von einem sterbenden Speicherlaufwerk zu retten, Archive auf einem Remote-Speicher zu sichern oder woanders eine perfekte Kopie einer aktiven Partition zu erstellen, Sie müssen wissen, wie Sie Laufwerke und Dateisysteme sicher und zuverlässig kopieren. Zum Glück dd ist ein einfaches und leistungsstarkes Werkzeug zum Kopieren von Bildern, das es so ziemlich schon ewig gibt. Und in all dieser Zeit ist nichts hinzugekommen, was den Job besser macht.

Perfekte Kopien von Laufwerken und Partitionen erstellen

Weitere Linux-Ressourcen

  • Spickzettel für Linux-Befehle
  • Spickzettel für fortgeschrittene Linux-Befehle
  • Kostenloser Online-Kurs:RHEL Technical Overview
  • Spickzettel für Linux-Netzwerke
  • SELinux-Spickzettel
  • Spickzettel für allgemeine Linux-Befehle
  • Was sind Linux-Container?
  • Unsere neuesten Linux-Artikel

Es gibt alle möglichen Dinge, die Sie mit dd tun können wenn Sie hart genug recherchieren, aber wo es glänzt, ist die Art und Weise, wie Sie mit Partitionen spielen können. Sie können natürlich tar verwenden oder sogar scp um ganze Dateisysteme zu replizieren, indem Sie die Dateien von einem Computer kopieren und sie dann unverändert auf einer neuen Linux-Installation auf einem anderen Computer einfügen. Da diese Dateisystemarchive jedoch keine vollständigen Images sind, benötigen sie an beiden Enden ein laufendes Host-Betriebssystem, um als Basis zu dienen.

Mit dd , auf der anderen Seite, kann perfekte Byte-für-Byte-Bilder von so gut wie allem Digitalen erstellen. Aber bevor Sie anfangen, Partitionen von einem Ende der Welt zum anderen zu schleudern, sollte ich erwähnen, dass an diesem alten Unix-Admin-Witz etwas Wahres dran ist:"dd steht für Festplattenzerstörer ." Wenn Sie in einem dd auch nur ein falsches Zeichen eingeben Befehl können Sie sofort und dauerhaft ein ganzes Laufwerk mit wertvollen Daten löschen. Und ja, Rechtschreibung zählt.

Denken Sie daran: Bevor Sie diese Eingabetaste drücken, um aufrufen dd , halten Sie inne und denken Sie genau nach!

Grundlegende dd-Operationen

Nachdem Sie nun angemessen gewarnt wurden, beginnen wir mit etwas Einfachem. Angenommen, Sie möchten ein exaktes Abbild einer gesamten Datenfestplatte erstellen, die als /dev/ bezeichnet wurde sda . Sie haben ein leeres Laufwerk angeschlossen (idealerweise mit der gleichen Kapazität wie Ihr /dev/ sda System). Die Syntax ist einfach:if= definiert das Quelllaufwerk und of= definiert die Datei oder den Ort, an dem Ihre Daten gespeichert werden sollen:

# dd if=/dev/sda of=/dev/sdb

Das nächste Beispiel erstellt ein .img-Archiv von /dev/ sda Laufwerk und speichern Sie es im Home-Verzeichnis Ihres Benutzerkontos:

# dd if=/dev/sda of=/home/username/sdadisk.img

Diese Befehle erstellten Abbilder ganzer Laufwerke. Sie können sich auch auf eine einzelne Partition eines Laufwerks konzentrieren. Das nächste Beispiel macht das und verwendet auch bs um die Anzahl der gleichzeitig zu kopierenden Bytes festzulegen (in diesem Fall 4.096). Mit dem bs spielen Wert kann sich auf die Gesamtgeschwindigkeit eines dd auswirken Betrieb, obwohl die ideale Einstellung von Ihrem Hardwareprofil und anderen Überlegungen abhängt.

# dd if=/dev/sda2 of=/home/username/partition2.img bs=4096

Das Wiederherstellen ist einfach:Effektiv kehren Sie die Werte von if um und of . In diesem Fall if= nimmt das Image, das Sie wiederherstellen möchten, und of= nimmt das Ziellaufwerk, auf das Sie das Image schreiben möchten:

# dd if=sdadisk.img of=/dev/sdb

Sie können die Erstellungs- und Kopiervorgänge auch in einem Befehl ausführen. Dieses Beispiel erstellt beispielsweise ein komprimiertes Image eines Remote-Laufwerks mit SSH und speichert das resultierende Archiv auf Ihrem lokalen Computer:

# ssh [email protected] "dd if=/dev/sda | gzip -1 -" | dd of=backup.gz

Sie sollten Ihre Archive immer testen, um sicherzustellen, dass sie funktionieren. Wenn es sich um ein Boot-Laufwerk handelt, das Sie erstellt haben, stecken Sie es in einen Computer und prüfen Sie, ob es wie erwartet startet. Wenn es sich um eine normale Datenpartition handelt, mounten Sie sie, um sicherzustellen, dass die Dateien vorhanden und entsprechend zugänglich sind.

Datenträger mit dd löschen

Vor Jahren hatte ich einen Freund, der in den Auslandsbotschaften seiner Regierung für die Sicherheit zuständig war. Er sagte mir einmal, dass jede Botschaft unter seiner Aufsicht mit einem offiziellen Regierungshammer ausgestattet sei. Wieso den? Für den Fall, dass die Einrichtung jemals Gefahr lief, von Feinden überrannt zu werden, sollte der Hammer verwendet werden, um alle ihre Festplatten zu zerstören.

Was ist das? Warum nicht einfach die Daten löschen? Du machst Witze oder? Jeder weiß, dass das Löschen von Dateien mit sensiblen Daten von Speichergeräten die Daten nicht wirklich entfernt. Mit genügend Zeit und Motivation kann fast alles aus praktisch allen digitalen Medien abgerufen werden, mit Ausnahme von denen, die gut und richtig gehämmert wurden.

Sie können jedoch dd verwenden um es den Bösewichten erheblich zu erschweren, an Ihre alten Daten heranzukommen. Dieser Befehl wird einige Zeit damit verbringen, Millionen und Abermillionen von Nullen in jeden Winkel von /dev/sda1 zu schreiben Partition:

# dd if=/dev/zero of=/dev/sda1

Aber es wird besser. Mit /dev/ urandom Datei als Ihre Quelle, können Sie mit zufälligen Zeichen über eine Festplatte schreiben:

# dd if=/dev/urandom of=/dev/sda1

DD-Operationen überwachen

Da die Archivierung von Festplatten oder Partitionen sehr lange dauern kann, sollten Sie Ihrem Befehl eine Fortschrittsüberwachung hinzufügen. Installieren Sie Pipe Viewer (sudo apt install pv auf Ubuntu) und fügen Sie es in dd ein . Mit pv , dieser letzte Befehl könnte etwa so aussehen:

# dd if=/dev/urandom | pv | dd of=/dev/sda1
4,14MB 0:00:05 [ 98kB/s] [      <=>                  ]

Backups und Datenträgerverwaltung aufschieben? Mit dd bleiben Ihnen nicht zu viele Ausreden. Es ist wirklich nicht schwer, aber seien Sie vorsichtig. Viel Glück!


Linux
  1. So verwenden Sie BusyBox unter Linux

  2. So partitionieren Sie eine Festplatte unter Linux

  3. So verwenden Sie FIND unter Linux

  4. So verwenden Sie den Su-Befehl unter Linux

  5. So verwenden Sie OpenSSH, um eine Verbindung zu Ihrem Linux-Server herzustellen

So verwenden Sie den Disown-Befehl unter Linux

So verwenden Sie den Linux-SS-Befehl

So verwenden Sie den Linux-nohup-Befehl

So nutzen Sie Ihr Linux-Terminal praktisch (Teil 2)

So verwenden Sie TeamViewer unter Ubuntu 20.04 Linux ohne Installation

So installieren und verwenden Sie Docker in Ihrem Linux-System