Verwenden von Rsync für exakte Kopie

Ich habe rsync schon oft unter Linux verwendet, aber auch vor vielen Jahren, und ich weiß auch nicht, ob es Unterschiede oder Probleme zwischen der Verwendung auf einem iMac und unter Linux gibt.

Ich habe ein Laufwerk mit einem Problem und wird jetzt schreibgeschützt gemountet. Ich habe es durch ein gutes neues Laufwerk ersetzt und es ist jetzt über USB in einem SATA-Gehäuse angeschlossen.

Wenn ich einen Ordner auf dem neuen Laufwerk erstellen möchte, sagen Sie „/OldDrive“ und kopieren Sie alle Dateien auf meinem alten Laufwerk darauf, wobei Eigentumsrechte, Berechtigungen und alles andere, was macOS wichtig ist, erhalten bleiben, was sind die Befehlsoptionen und Schalter, die ich für rsync verwenden muss, um dies zu tun?

Welche macOS-Version? Die Metadaten können mit rsync verloren gehen, aber vielleicht kopieren Sie in ein Nicht-Apple-Dateisystem und kümmern sich nicht um Ressourcenverzweigungen und Metadaten.
Ich kopiere von meinem Systemlaufwerk, bis es aufgehört hat, sich auf mein neues Systemlaufwerk zu verhalten. Ich verwende 10.13.2.
@bmike: Eigentlich, und ich hätte das oben erwähnen sollen, sind es Metadaten, um die ich mir Sorgen mache, da ich zusätzliche Metadaten in Dateien gesehen habe und recherchieren musste, was sie bedeuten und wie man damit umgeht.
Ja, in der Tat Tango - ich werde mit den empfohlenen besten Tools antworten - dittoüber rsyncund möglicherweise asrsowie eine nette Lösung, um die Dateien nicht einmal abzukopieren - migrieren Sie einfach auf ein neues externes Betriebssystemlaufwerk. +1 und große Klarstellung.
@bmike: Wenn ich mir das jetzt ansehe, war es nicht die beste Frage für mich. Offensichtlich haben Sie erkannt, dass ich versuche, ein fehlerhaftes Laufwerk wiederherzustellen. Mein Problem ist, dass ich immer noch denke, dass ich unter Linux und unter Linux bin, wenn ich mir Sorgen um das Laufwerk selbst gemacht hätte, aber die Dateien intakt wären, hätte ich das "-a" in rsync mit sudo verwendet, um alles zu kopieren die Dateien mit Berechtigungen und Eigentümern und Metadaten intakt, das war also mein erster Gedanke hier. Ich wollte alle Dinge, wie Einstellungen, Spielergebnisse und Optimierungen, die ich auf dem Weg vorgenommen habe, beibehalten. (Fortsetzung...)
Ich hätte einfach meine Situation beschreiben und nach meinem Hauptziel fragen sollen, anstatt nach einer Möglichkeit zu fragen, wie ich es erreichen kann. Ich habe ein neues Laufwerk eingebaut und High Sierra darauf installiert und das alte Laufwerk auf USB. Das erste, was ich tat, als das alte Laufwerk auftauchte (es war schreibgeschützt), war, mit DU ein Image davon auf meinem Time Capsule-Laufwerk zu erstellen - auf diese Weise hatte ich es, egal was passiert. Ich habe einen "Scan zur Wiederherstellung" durchgeführt. Jetzt funktioniert das Originallaufwerk nicht, aber ich habe das Image auf dem Time Capsule-Laufwerk. Wenn ich mit Command-R boote, akzeptiert Time Machine dieses Image nicht und DU kann nicht auf das LAN zugreifen, um dieses Image zu lesen.
@bmike: Ich habe weitergemacht und eine Frage mit allen Details darüber gepostet, was ich hier zu tun versuche .

Antworten (2)

Rsync ist nicht die beste Wahl für Kopien von Mac zu Mac.

dittoIch würde oder verwenden asr, wenn Sie eine Befehlszeilenlösung benötigen. Das Festplatten-Dienstprogramm ruft intern asr auf und Sie können das Volume spiegeln und dann den Migrationsassistenten löschen und ausführen - das ist weitaus besser, als zu versuchen, von einer beschädigten Kopie zu booten.

Fahren Sie fort und erstellen Sie die vollständige Kopie für Ihr Backup – dann ziehen Sie die Installation auf einem neuen Betriebssystem in Betracht.

Tatsächlich könnten Sie das Betriebssystem zuerst auf einem externen USB-/Thunderbolt-/FireWire-Laufwerk installieren, bevor Sie überhaupt eine Kopie erstellen, und dann die Daten, Konten und Apps vom internen Laufwerk auf die externe saubere Betriebssysteminstallation migrieren.

Das spart einen Schritt und Sie müssen sich nicht einmal um die Syntax von asroder dittooder kümmernrsync

Auf dem alten Laufwerk habe ich das neuste High Sierra installiert. Es startete, dann ging ich zum Upgrade des Servers und bestand auf einem Neustart - ich geriet in eine Installationsschleife. Jetzt weiß ich, dass es ein Hardwarefehler ist. Ich vermute also, wenn ich die Daten auf dem alten Laufwerk auf das neue übertrage, möchte es möglicherweise High Sierra neu installieren, was nur einige Zeit dauert, aber ich würde denken, dass es danach booten würde. Mein Problem ist, dass ich Linux kenne, aber macOS nicht so gut kenne und ich keine wichtigen Metadaten verlieren möchte. Außerdem habe ich ein Flash-Laufwerk, von dem ich booten kann, aber es ist so langsam, dass ich dort nicht booten und ein großes Laufwerk kopieren kann.
Sind Sie im Chat jederzeit verfügbar? Was mich immer beschäftigt, sind die Details, die ich nicht kenne. Nach dem, was Sie sagen, denke ich, dass der Migrationsassistent vieles von dem tun könnte, was ich brauche, aber ich möchte nur in meinem Kopf klar sein, dass alles klar ist, und hier zu fragen würde eine "Kommentardiskussion" bedeuten.
Etwas wiesudo caffeinate -i asr restore --source /dev/diskXX --target /dev/diskYYsZZ --erase --puppetstrings --allowfragmentedcatalog

Sie können dd verwenden, um ein bitweises Duplikat zu erstellen.

dd if=/dev/sdX of=/dev/sdY conv=noerror,sync

So finden Sie den Namen Ihrer Festplatten:

diskutil list

Unmounten Sie dann das Ziellaufwerk

diskutil unmount volume

Führen Sie dann dd aus. Es wird keine Fortschrittsanzeige geben, und es wird eine Weile dauern, also sei einfach geduldig.

ddSo fügen Sie einen zu verwendenden Fortschrittsbalken hinzudc3dd
Sie haben Recht mit Ihrer Vermutung, dass mein Hauptziel letztendlich darin besteht, das schlechte Laufwerk auf dem neuen zu duplizieren. Das Problem dabei - Gerät zu Gerät kopieren - ist, dass ich es tun muss, wenn ich von einem anderen Gerät boote. Das einzige andere Gerät, von dem ich booten kann, ist ein Flash-Laufwerk – und ich habe gerade gelernt, wie erstaunlich und atemberaubend langsam ein iMac sein kann, der von einem RAM-Laufwerk gebootet wird.