¿Cómo puedo mantener la configuración consistente entre las Mac?

6

Uso múltiples Macs (OS X Lion). Hay muchas configuraciones, aplicaciones y archivos que me gustaría mantener sincronizados entre ellos. Los archivos son los más sencillos: los enlaces simbólicos de Dropbox +, los repositorios de Mercurial y los manifiestos Puppet independientes son herramientas bien entendidas y sencillas. Las aplicaciones son un poco más difíciles, pero estoy experimentando con Puppet + PackageMaker + Dropbox para lograr este objetivo.

Eso nos lleva a la configuración. Estos también son los más desagradables desde que instalé algo pequeño en mi iMac, lo olvido rápidamente, luego redescubrí la molestia en mi MacBook un par de semanas más tarde y tengo que revisar Google para descubrir qué hice para solucionarlo la primera vez.

Descubrí el comando 'predeterminados' hoy y lo he estado explorando, pero me preguntaba cómo resolverían esto los demás.

Por "configuración" me refiero a configuraciones a nivel de sistema operativo como cambiar la cantidad de espacios que tiene, establecer esquinas, modificar el comportamiento del mouse, etc. La configuración a nivel de la aplicación también sería genial, pero supongo Muchas aplicaciones diferentes hacen esto de diferentes maneras. Oh, cómo echo de menos el Unix real y sus archivos de configuración planos ...

    
pregunta sh-beta 11.11.2011 - 22:15

3 respuestas

11

Realmente no hay una respuesta única para todos, pero puedo pensar en cuatro formas de realizar tu tarea si te interesa dedicar algo de tiempo a esto.

Las Mac son unix, así que simplemente ingrese su ~ / Biblioteca / Preferencias y / Biblioteca / Preferencias en algún tipo de sistema de control de código. Luego puede hacer diferencias y la mayoría de las listas son texto o se convierten fácilmente en texto (usando PlistBuddy ) para que pueda aislar exactamente lo que ha cambiado.

Hay numerosos tutoriales disponibles: El wiki de Penn sobre la manipulación de archivos de Plist es particularmente bueno y está dirigido a personas con Unix. habilidades.

Hay un montón de software de Managed System como Apple Remote Desktop u otros como Casper si desea obtener un software diseñado explícitamente para administrar las preferencias del usuario.

Las cuentas del servidor serían fáciles de configurar a un costo mínimo si tiene una máquina de repuesto (o una máquina virtual). Nuevamente, algunos funcionan, pero las cuentas móviles funcionan bien para muchas personas.

Por último, no pase por alto simplemente la migración de la cuenta de usuario del mac que es correcto al otro mac periódicamente y simplemente cree un sistema en el que tenga disciplina sobre cómo registrar las veces que cambia una configuración.

    
respondido por el bmike 11.11.2011 - 22:35
5

1) Para la mayoría de las aplicaciones OS X, las configuraciones se mantienen en ~ / Library / Application Support / y ~/Library/Preferences/

En Terminal.app:

cd ~/Library/Preferences/

plutil -convert xml1  *.plist

Y luego abra cualquiera de los archivos plist en un editor de texto.

O, si su editor de texto de elección es BBEdit, simplemente abra los archivos plist usando el comando bbedit , que los convierte automáticamente a XML.

O, simplemente use defaults read en cualquiera de esos archivos plist, simplemente deje fuera de .plist. Por ejemplo, si desea leer com.apple.dock.plist use defaults read com.apple.dock

2) El comando defaults es tu amigo.

Configuré una función que registrará todo el defaults write que hago:

defaults ()
{
    if [ "$1" = "write" ]
    then

        LOG="$HOME/Dropbox/dwrites.txt"

        echo "default $@" >>| "$LOG" && echo "[logged defaults change to $LOG]"

    fi

    /usr/bin/defaults $@
}

De esa manera tengo un registro de todos mis cambios que hago en la línea de comandos.

Pero, por supuesto, hay lotes de este tipo de cambios que no hago en la línea de comandos, pero que hago a través de Preferencias del sistema o preferencias de aplicaciones individuales.

Algunos de ellos son incluso cambios a nivel del sistema que se almacenan en / Library / Application Support / o /Library/Preferences/

3) También verifica los comandos networksetup y systemsetup .

    
respondido por el TJ Luoma 12.11.2011 - 04:53
3

Esté de acuerdo con bmike en que realmente no hay un tamaño que se adapte a todas las soluciones, además de migrar la cuenta de usuario o clonar una unidad en otra periódicamente.

Recomiendo revisar algo como SpiderOak para los directorios de sincronización. Le permite elegir qué directorios de la máquina desea respaldar y sincronizar, en lugar de darle un lugar predefinido para colocar sus archivos como Dropbox. No más problemas con enlaces simbólicos.

Debería poder sincronizar la mayoría de las aplicaciones de Mac al sincronizar la carpeta / Aplicaciones entre máquinas. Gran parte de la configuración de la aplicación residirá en ~ / Library y / Library. Probablemente también querrá sincronizar su carpeta de inicio y cualquier otra carpeta en la que almacene archivos de datos.

He configurado esto para mi carpeta de inicio y grandes porciones de ~ / Library y / Library en dos de mis máquinas. Nunca he intentado sincronizar / Aplicaciones, pero en teoría debería funcionar.

Con respecto a la configuración que ha aplicado a través de la línea de comandos, sugiero escribir un script de shell que se encuentre en una de estas carpetas sincronizadas y configurar ambas máquinas para que se ejecuten periódicamente, a través de cron o alguna otra utilidad.

Cada vez que encuentre una nueva configuración de línea de comandos que le guste, agréguela al script de shell. El contenido del script se sincronizará en las 2 máquinas y, dado que ambas se ejecutan periódicamente, actualizará la configuración en ambas máquinas.

Esto no es del 100%, pero me aleja tanto que el manejo manual del resto de las cosas no es tan doloroso.

    
respondido por el Vickash 12.11.2011 - 03:52

Lea otras preguntas en las etiquetas