¿Cómo sincronizar las aplicaciones + preferencias de MacOS en varias Mac sin el servidor OS X?

¿Funcionará lo siguiente? Si no, ¿alguien puede proponer mejores alternativas para resolver este problema?

Resumen del problema : quiero sincronizar varios MacBook Air, Pro y posiblemente Mini con la misma información de cuenta de usuario, para una sola cuenta, llámela myuser. Todos los sistemas tendrán la misma versión principal de MacOS. por ejemplo: todos son 10.7 o 10.8 o superior. NO quiero emplear OS X Server para la sincronización.

Resumen, solución propuesta : git -sincroniza las preferencias y el /User/myuserdirectorio, rsync los directorios de la aplicación y usa mecanismos de trabajo conocidos (Dropbox, IMAP) para sincronizar todo lo demás.

Detalles _

El Asistente de migración no es confiable para la copia/sincronización completa según esto y esto y mi experiencia personal. ChronoSync , según esta discusión , parece interesante, pero no sé exactamente qué está haciendo para Preferencias... y quiero saber exactamente qué está pasando. También restauré las copias de seguridad de TimeMachine y descubrí que no replican el entorno del que hice una copia de seguridad (gran decepción). Soy un administrador de sistemas con experiencia en sistemas que no son MacOS, así que considérenme un fanático del control.

He usado git para sincronizar la configuración de Terminal.app/shell /User/myusery los perfiles de Thunderbird en varias Mac ( la bifurcación de git para perfiles de Thunderbird diferentes en diferentes Mac, si es necesario, proporciona una flexibilidad útil). A pesar de la falta de profundidad de la gestión de metadatos de archivos de git , esto ha funcionado bien. Me gustaría sincronizar con git (a un servidor/servicio de "repositorio central" como Bitbucket ) los siguientes directorios en mis Mac, empleando sucursales según sea necesario/deseable para personalizaciones únicas:

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

(Todo lo demás en ~/Libraryy /Libraryparece no tener importancia o regenerarse automáticamente).

Luego planeo sincronizar lo siguiente ( git es menos útil aquí debido a la facilidad de recrear aplicaciones instaladas y menos práctico debido al tamaño de /Applications):

  • /Applications
  • ~/Applications

Me doy cuenta de que es posible que deba cerrar todas las aplicaciones + procesos pertinentes para sincronizar correctamente los espacios de Preferencias y Aplicaciones y evitar bloqueos de procesos en ejecución y problemas relacionados.

No estoy tan familiarizado con la magia de administración de preferencias que pueda haber en los sistemas de implementación automática como Absolute Manage, Casper, Munki, Sikuli, Salt y herramientas similares. Me encantaría saber si hay capacidad/conocimiento/saber hacer de gestión de preferencias en estas herramientas y, de ser así, cómo reutilizar dicho conocimiento. Cada una de dichas herramientas parece abordar una gama más amplia de requisitos y presenta una mayor barrera de entrada/empleo. Prefiero comenzar con mi método basado en git muy fácil de configurar~/Library/Preferences (y similares) en marcha.

Todos los demás directorios en estos sistemas, particularmente en /User/myuser, se sincronizan a través de otros medios, como Dropbox, correo electrónico IMAP y métodos similares ya probados como rsync . Estoy menos seguro de que rsync funcione para copiar /Applications, de ahí la llamada específica anterior.

Una cosa que encontrará difícil son los ~/Library/Preferences/ByHost/archivos, porque todos se denominan com.apple.blah.UUID.plist, donde UUID es el UUID de hardware de cada máquina. Puede obtener el UUID para una máquina a través desystem_profiler SPHardwareDataType | grep UUID
@Kent - entendido. Espero que git repo/master contenga archivos para todas las Mac/máquinas guardadas en formato ~/Library/Preferences/ByHost/. Y dado que cada ByHostarchivo tiene un nombre único, y suponiendo (?) que una máquina MacOS con UUID = X ignoraría los archivos con UUID = Y, no veo ningún problema con esto. ¿Tú?
Sí... los otros archivos se ignoran. Pero, si quisiera sincronizar esas preferencias entre sus máquinas, tendría que volverse creativo y copiar el archivo "X" a "Y" antes de sincronizarlo para que la máquina Y tenga las preferencias actualizadas cuando lea de su archivo. . Si tiene diferentes tipos de hardware, eso podría tener algunas consecuencias inesperadas.
@Kent: correcto, buen punto. Una mirada rápida a los nombres de ByHostarchivo sugiere que las aplicaciones responsables, etc. tienen menos impacto en mi espacio de trabajo/entorno que las que no son ByHostpreferencias. (O al menos, esa es mi ilusión actual). Como tal, planeo tener que administrar/copiar manualmente las ByHostpreferencias basadas en , y tal vez hacer un script para copiar los más impactantes.
Johnny, estoy intentando hacer algo similar usando BTSync.

Respuestas (1)

Parece que ChronoSync podría ayudar de forma limitada. Las páginas de soporte tienen advertencias sobre la sincronización ~/Library. Consulte ChronoSync: sincronizar su carpeta de inicio .

Puede probar Unison para todo en lugar de múltiples herramientas y enfoques (una advertencia es que Unison se actualizó por última vez en 2009; sin embargo, su fuente está disponible bajo GPL).

Referencias:
Preguntas frecuentes (FAQ)
de Unison sobre el uso de Unison en sistemas operativos específicos

Gracias, útil. Desde Chrono's 'Syncing your Library folder' , veo: "Preferencias: [...] Dependiendo de lo que esté sincronizando entre Mac, es posible que deba sincronizar algunos archivos de Preferencias. Primero, debe configurar un documento de Sincronizador separado que sincronice los dos Carpetas de preferencias ubicadas en la carpeta Biblioteca. [...] Haga clic aquí para descargar un documento de Synchronizer que ayuda con esta configuración. Todas las reglas ya están completas, por lo que solo necesita configurar los Objetivos".