Ich muss eine Kopie eines funktionierenden Linux-Systems erstellen, das (in / enthalten und der neue Ort in / mnt / sdb5 vorbereitet) eine beträchtliche Menge an Hard-, Softlinks und speziellen Dateien in / dev zu enthalten scheint. würde cpio
diesen Job erledigen, ohne zusätzliche Magie anzuwenden?
Derzeit bekannte Sicherheitsvorkehrungen:
- Das laufende System wird erst entfernt / geändert, wenn die Kopie als bootfähig angesehen wird und mit ihr funktioniert
root=/dev/sdb5
. Erstellen Sie vor dem Entfernen eine vollständige Partitionssicherung. - verwendet cpio zum separaten Archivieren jedes Stammverzeichnisses und entpackt es daher aus der LiveCD-Umgebung, damit die Spenderpartition nicht beschädigt wird
Aber trotzdem wird es keine Zeit verlieren, nur weil cpio ein Flag übersehen und die Berechtigungen / Knotentyp / soft oder hardlink verkrüppelt hat.
Welches Werkzeug / welche Unterwasserfelsen sind zu vermeiden?
Antworten:
Um die eigentliche Frage zu beantworten
cpio
: Dies sind die Flags, für die ich verwenden würdecpio
:Da Sie nicht über das Netzwerk kopieren, würde ich natürlich nur Folgendes verwenden
cp
:Und wenn Sie in der Lage sein möchten, das Kopieren mehrmals durchzuführen,
rsync
ist dies eine bessere Wahl für die Wiederaufnahmefunktionen. (Escp
behandelt auch ACLs und erweiterte Attribute und kann optional über das Netzwerk arbeitencpio
. Daher ist es die nützlichste Option, außer die erste Kopie lokal zu erstellen, die ich lieber verwendecp
.)Vergessen Sie nicht zu kopieren
/boot
und/dev
!/boot
ist einfach, kopiere es einfach. Aber/dev
heutzutage ist es viel schwieriger, da es von versteckt wirdudev
. Ich empfehle das folgende Verfahren:mkdir /tmp/dev
mount --move /dev /tmp/dev
/dev
nach/mnt/sdb5
einem der obigen Befehlenmount --move /tmp/dev /dev
rmdir /tmp/dev
quelle
Wie @Klox bereits erwähnt hat, stimme ich beim Kopieren von Partitionen derselben Größe der Verwendung zu
dd
.Aber wenn Sie eine Festplatte auf eine andere Partition mit unterschiedlicher Größe kopieren möchten, würde ich lieber mit gehen
rsync
. Hängen Sie die neue Partition ein (sagen wir / mnt / new) und:Keine zusätzliche Magie für Symlinks und keine Notwendigkeit für eine Live-CD (Einzelbenutzer / Init 1 reicht völlig aus).
quelle
rsync
ganze Zeit und habe das Offensichtliche verpasst. Ich magdd
aus den Gründen, die ich angegeben habe, aberrsync
es passt besser zu den Bedürfnissen des OP.Bei der optimaleren Variante von
dd
wirdpartimage
nur der verwendete Abschnitt der Partition kopiert, wodurch das Kopieren großer nicht verwendeter Partitionen zweckmäßiger wird.Beachten Sie die wichtige Einschränkung:
Eine praktische Kopie ist in der System Rescue CD- Distribution enthalten.
quelle
Wenn ich Linux-Installationen zwischen Festplatten verschiebe, starte ich immer von einer Live-CD und
dd
kopiere damit die gesamte Partition. Ich erkenne, dass dies nicht mit Änderungen der Festplattengröße zu tun hat (zwangsläufig ist die neue Festplatte größer, was die Dinge vereinfacht), aber ich mag die Technik genau aus den Gründen, aus denen Sie sich Sorgen machencpio
: Es kann etwas schief gehen. Mit dieserdd
Technik ist alles oder nichts: Entweder startet die neue Festplatte und alles ist gleich, oder die Festplatte startet nicht. Es besteht keine Gefahr, dass später lauernde Probleme auftauchen.Jetzt gibt es natürlich das Problem, dass die Partition die neue Festplatte nicht füllt, aber ich möchte lieber eine neue Partition erstellen, um den zusätzlichen Speicherplatz zu füllen, und mich auf Symlinks verlassen, um Verzeichnisse zu verschieben. (Ich bin sicher, dass es auch Tools zum Ändern der Größe von Partitionen gibt, aber ich habe sie nicht verwendet.)
quelle
xfs_grow
), und die Root-Partition ist ebenfalls XFS. Schlimmer noch, es ist ein etablierter Gentoo, der selbst fast so fett ist. Schlimmer noch, der Umzug muss ohne Hinzufügen von mehr Speicher erfolgen und kann derzeit nicht mehr als 60 Gigs sichern - also keine Partitionsoperationen. Sie müssen Win 'auf diese Maschine setzen, um einige Dinge zu testen.