Eine sehr gute Variante Backups von Systemen anzulegen, ist es, die komplette Festplatte oder den Flash-Speicher byteweise in eine Imagedatei zu kopieren. Insbesondere vor Updates hat man so eine sichere Variante komplett auf den Stand vorher zurück zu können.
Der Vorteil eines solchen Backups ist die Sicherheit, dass wirklich alles wie vorher ist. Auch für komplexe Systemkonfigurationen oder Software in bestimmten Umgebungen, die man „nicht mal eben so“ neu machen kann, ist diese Variante sehr gut.
Geeignet ist dieses Verfahren aber besonders für SSDs und andere Flash-Speicher, da diese eine schnelle Kopie und ein schnelles Wiederherstellen ermöglichen. Diese Datenträger sollten möglichst „klein“ sein, also nur Betriebssystem und Programme, keine großartigen Daten, enthalten. Datenbackups sind inkrementell mit rsync deutlich besser. „Kleine“ Betriebssystemimages von 16-256 GB sind schnell kopierbar und sehr hilfreich.
Gegen das Verfahren, immer ein komplettes Image anzufertigen, spricht natürlich auch, dass man für jedes Backup den kompletten Speicher des Mediums verbraucht und nicht nur die geänderten Daten kopiert. Dafür kann dieses Backup aber auch nicht so schnell kompomittiert werden, weil es z.B. nur aus einer Imagedatei besteht.
Mit folgendem Befehl kann unter Linux ein kompletter Datenträger kopiert werden. Achtung: Die Geräte befinden sich unter Linux unter dem Pfad /dev
. Mit fdisk -l
kann man alle Geräte auflisten. Partitionen sind die Zahlen am Ende. Wir wollen aber ein komplettes Gerät kopieren, also keine Zahl angeben. Backups können nur auf gleich große oder größere Datenträger wiederhergestellt werden, mit dem selben Befehl. Achtung: Hier kopieren wir von bzw. beim Wiederherstellen nach einem Gerät in eine Datei bzw. beim Wiederherstellen von einer Datei im Dateisystem. Man könnte natürlich auch von Gerät zu Gerät kopieren um direkt ein Duplikat des Systems zu erzeugen. Oder man macht das später in Serienproduktion von der Datei aus.
Das Programm pv
kann zusätzlich dazwischengeschaltet werden um einen Fortschrittsbalken in der Konsole anzuzeigen.
dd if=/dev/sdf | pv -s 16G | dd of=/tmp/raspberrypi_image_2018-11-27.img
dd if=/tmp/raspberrypi_image_2018-11-27.img | pv -s 16G | dd of=/dev/sdf bs=4096