Dies hängt davon ab, wozu die Partition genau dient und wozu die Kopie dient. Ich werde jedoch sagen, dass es sich im Allgemeinen dd
um ein ungeeignetes Tool zum Sichern von Dateisystemen handelt . Das ist auch nicht das, wofür es gedacht war.
Es wird viel Zeit verschwendet, leere Bereiche der Partition zu kopieren.
Dies kann zu Inkonsistenzen führen, wenn das Dateisystem gerade gemountet ist, auch weil es sich um eine Entität auf Betriebssystemebene handelt und möglicherweise nicht mit dem zugrunde liegenden Blockgerät synchronisiert ist. sync
Anfänglich hilft ein Anruf nicht viel, da der Prozess nicht sofort abläuft.
Verwenden Sie stattdessen cp -a
oder rsync
. Sie müssen dann natürlich die Zielpartition erstellen, damit dies nicht ganz so einfach ist, aber es ist viel sicherer und flexibler. Wenn Sie ein Dateisystem- Image erstellen müssen , siehe unten.
Wenn Sie beabsichtigen, das Root-Dateisystem zu kopieren, verwenden Sie es auf keinen Fall dd
. Sie müssen so etwas wie rsync -ax
(oder cp -ax
für einzelne Toplevel-Verzeichnisse) verwenden, da es eine Menge Dinge gibt, die NICHT in der Kopie enthalten sein dürfen . Unter Linux umfasst dies:
/dev
/lost+found
/mnt
/proc
/run
/sys
/tmp
Einige davon sind tatsächlich Kernel-Schnittstellen und keine echten Verzeichnisse auf der Festplatte. Wenn Sie sie kopieren, kopieren Sie eine Reihe von Informationen, die in der Kopie nicht zutreffen. Wenn Sie versuchen, ein System damit zu betreiben, wird nur Speicherplatz verschwendet, da die reale Schnittstelle oben montiert wird. Andere enthalten temporäre Informationen, die von laufenden Prozessen verwendet werden, und diese stellen ein größeres Problem dar, da das System den Müll nicht aussortieren kann, wenn Sie ihn kopieren.
Wenn Sie eine Image-Datei des Root-Dateisystems (oder eines beliebigen Dateisystems) erstellen möchten , erstellen Sie eine leere Image-Datei. Dies ist eine geeignete Verwendung für dd
:
dd if=/dev/zero of=whatever.img bs=1024 count=1000000
Das ist ein Image mit 1024 MB (1000000 * 1024). Passen count
Sie an, ob Sie eine andere Größe wünschen. Erstellen Sie zB ein ext
Dateisystem in der Datei :
mke2fs whatever.img
Es wird Sie warnen, dass dies kein echtes Blockgerät ist. Vorgehen. Hängen Sie nun die Image-Datei ein:
mount whatever.img /mnt/img
/mnt/img
muss existieren aber könnte alles. Sie können jetzt rsync
(oder cp -a
) in /mnt/img
. Der Inhalt bleibt whatever.img
beim Abmelden erhalten.
Jedoch...
Verwenden Sie zur Verdeutlichung die eben beschriebene Dateisystem-Image-Methode nur, wenn Sie aus irgendeinem Grund unbedingt eine Image-Datei benötigen. Wenn Sie die Partition auf eine andere Festplatte kopieren möchten, benötigen Sie kein Image : Erstellen Sie eine neue Partition mit einem leeren Dateisystem auf diesem Laufwerk, hängen Sie sie ein und kopieren Sie sie dort hinein. Sie können den Inhalt des Dateisystems auch einfach in ein leeres Verzeichnis kopieren und archivieren:
tar -czf myarchive.tar.gz [the directory path]
Sie können diese dann in einer vorhandenen (leeren oder anderen) Partition bereitstellen, indem Sie sie in der obersten Ebene platzieren und Folgendes verwenden:
tar -xzf myarchive.tar.gz
Beachten Sie, dass vorhandene Dateien überschrieben werden, wenn ihre Pfade mit denen im Archiv übereinstimmen. Andernfalls bleibt die vorhandene Verzeichnishierarchie unverändert.