Wie synchronisiere ich MacOS-Anwendungen und -Einstellungen auf mehreren Macs ohne OS X Server?

Wird folgendes funktionieren? Wenn nicht, kann jemand bessere Alternativen vorschlagen, um dieses Problem zu lösen?

Zusammenfassendes Problem : Ich möchte mehrere MacBook Airs, Pros und möglicherweise Minis mit denselben Benutzerkontoinformationen für nur ein Konto synchronisieren – nennen Sie es myuser. Alle Systeme haben die gleiche MacOS-Hauptversion. zB: sie sind alle 10.7 oder 10.8 oder höher. Ich möchte OS X Server NICHT zum Synchronisieren verwenden.

Zusammenfassung, vorgeschlagene Lösung : git -sync die Einstellungen und /User/myuserdas Verzeichnis, rsync die Anwendungsverzeichnisse und verwenden Sie bekannt funktionierende Mechanismen (Dropbox, IMAP), um alles andere zu synchronisieren.

Einzelheiten .

Der Migrationsassistent ist für vollständiges Kopieren/Synchronisieren nach diesem und diesem und meiner persönlichen Erfahrung unzuverlässig. ChronoSync sieht laut dieser Diskussion interessant aus, aber ich weiß nicht genau, was es für Einstellungen tut ... und ich möchte genau wissen, was los ist. Ich habe auch TimeMachine-Backups wiederhergestellt und festgestellt, dass sie die von mir gesicherte Umgebung nicht replizieren (große Enttäuschung). Ich bin ein erfahrener Systemadministrator auf Nicht-MacOS-Systemen, also betrachten Sie mich als einen Kontrollfreak.

Ich habe Git verwendet , um Terminal.app/shell-Einstellungen in /User/myuserund Thunderbird- Profil(en) auf mehreren Macs zu synchronisieren ( Git- Verzweigung für verschiedene Thunderbird-Profile auf verschiedenen Macs bietet bei Bedarf nützliche Flexibilität). Trotz der fehlenden Tiefe der Dateimetadaverwaltung von git hat dies gut funktioniert. Ich möchte die folgenden Verzeichnisse auf meinen Macs git-synchronisieren (mit einem "zentralen Repository" -Server / -Dienst wie Bitbucket ) und nach Bedarf / Wunsch Zweige für einzigartige Anpassungen verwenden:

  • /Library/Preferences
  • /Library/PreferencePanes
  • ~/Library/Preferences
  • ~/Library/PreferencePanes

(Alles andere in ~/Libraryund /Libraryerscheint unwichtig oder wird automatisch regeneriert.)

Dann plane ich, Folgendes zusammen zu synchronisieren ( git ist hier weniger nützlich, da installierte Anwendungen einfach neu erstellt werden können, und aufgrund der Größe von weniger praktisch /Applications):

  • /Applications
  • ~/Applications

Mir ist klar, dass ich möglicherweise alle relevanten Anwendungen und Prozesse schließen muss, um die Bereiche „Preferences“ und „Applications“ ordnungsgemäß zu synchronisieren und Sperren laufender Prozesse und damit verbundene Probleme zu vermeiden.

Ich bin nicht so vertraut mit der magischen Einstellungsverwaltung, die in automatischen Bereitstellungssystemen wie Absolute Manage, Casper, Munki, Sikuli, Salt und ähnlichen Tools enthalten sein könnte. Würde gerne wissen, ob diese Tools Funktionen/Wissen/Know-how zur Verwaltung von Einstellungen enthalten und wenn ja, wie dieses Wissen wiederverwendet werden kann. Jedes der genannten Tools scheint ein breiteres Spektrum an Anforderungen abzudecken und stellt eine höhere Eintritts-/Beschäftigungsbarriere dar. Ich würde lieber einfach mit meiner sehr einfach einzurichtenden Git-basierten Methode auf ~/Library/Preferences(und dergleichen) loslegen.

Alle anderen Verzeichnisse auf diesen Systemen – insbesondere in – werden über andere Mittel wie Dropbox, IMAP-E-Mail und ähnliche, bereits bewährte Methoden wie rsync/User/myuser synchronisiert . Ich bin mir weniger sicher, dass rsync zum Kopieren funktioniert , daher der spezifische Aufruf oben./Applications

Eine Sache, die Sie schwierig finden werden, sind die ~/Library/Preferences/ByHost/Dateien, da sie alle com.apple.blah.UUID.plist heißen, wobei UUID die Hardware-UUID jedes Computers ist. Sie können die UUID für eine Maschine über abrufensystem_profiler SPHardwareDataType | grep UUID
@Kent - verstanden. Ich gehe davon aus, dass das Git Repo/Master Dateien für alle Macs/Maschinen enthalten würde, die alle in ~/Library/Preferences/ByHost/. Und da jede ByHostDatei einen eindeutigen Namen hat und vorausgesetzt (?), dass ein MacOS-Computer mit UUID = X Dateien mit UUID = Y ignorieren würde, sehe ich darin kein Problem. Tust du?
Ja .. die anderen Dateien werden ignoriert. Wenn Sie jedoch möchten, dass diese Einstellungen zwischen Ihren Computern synchronisiert werden, müssen Sie kreativ werden und die Datei "X" vor der Synchronisierung nach "Y" kopieren, damit Maschine Y die aktualisierten Einstellungen hat, wenn sie aus ihrer Datei liest . Wenn Sie unterschiedliche Hardwaretypen haben, kann dies einige unerwartete Folgen haben.
@ Kent - richtig, guter Punkt. Ein kurzer Blick auf ByHostdie Dateinamen deutet darauf hin, dass die verantwortlichen Apps/usw. weniger Einfluss auf meinen Arbeitsbereich/meine Umgebung haben als die Nicht- ByHostPräferenzen. (Oder zumindest ist das mein derzeitiges Wunschdenken.) Daher würde ich planen, die -basierten Einstellungen manuell zu verwalten/kopieren ByHostund vielleicht ein oder mehrere Skripte zu erstellen, um die wirkungsvolleren zu kopieren.
Johnny Ich versuche, etwas Ähnliches mit BTSync zu machen.

Antworten (1)

Scheint, als könnte ChronoSync in begrenztem Umfang helfen. Die Support-Seiten enthalten Warnungen zum Synchronisieren ~/Library. Siehe ChronoSync – Synchronisieren Ihres Home-Ordners .

Sie könnten Unison für alles ausprobieren , anstatt mehrere Tools und Ansätze (eine Einschränkung ist, dass Unison zuletzt 2009 aktualisiert wurde; seine Quelle ist jedoch unter GPL verfügbar).

Referenzen:
Häufig gestellte Fragen (FAQ) von Unison
zur Verwendung von Unison auf bestimmten Betriebssystemen

Danke, hilfreich. Aus Chronos 'Syncing your Library folder' sehe ich: "Preferences: [...] Je nachdem, was Sie zwischen Macs synchronisieren, müssen Sie möglicherweise einige Preferences-Dateien synchronisieren. Zuerst müssen Sie ein separates Synchronizer-Dokument einrichten, das die beiden synchronisiert Preferences-Ordner, die sich unter dem Library-Ordner befinden. [...] Klicken Sie hier, um ein Synchronizer-Dokument herunterzuladen, das bei dieser Einrichtung hilft. Alle Regeln sind bereits vollständig, sodass Sie nur noch die Targets festlegen müssen."