Целесообразно ли синхронизировать приложения и пользовательские настройки между двумя компьютерами Mac?

У меня есть iMac в качестве основного компьютера, и я только что купил MacBook, когда я путешествую или посещаю клиентов. Я использую Dropbox для синхронизации файлов. Но я думаю о том, чтобы сделать еще один шаг и синхронизировать все, включая приложение, пользовательские настройки (все в /Library/Preferences, и ) /Users/user/Library/Preferences, а также приложения и все в командной строке (включая домашнюю установку, пакеты и т./Library/Application Support/Users/user/Library/Application Support

Обратите внимание, что я знаю, как синхронизировать приложения и пользовательские настройки ( ln -s /source/dir/ /Users/user/Dropbox/whatevername), но хотел бы знать, целесообразно ли также синхронизировать приложения и настройки/пакеты командной строки (что я понятия не имею, как это сделать).

Не могли бы вы дать предложения? заранее спасибо

Ответы (1)

Есть несколько способов добиться этого и, вероятно, в два раза больше ловушек. Тем не менее, я добился большого успеха, используя Mackup . Он может создавать резервные копии ваших точечных файлов, файлов plist, настраивается и может интегрироваться с несколькими службами облачного хранения или локальным файловым сервером. Я запускаю это ежечасно как cronработу, чтобы убедиться, что я всегда делаю резервную копию. Это хорошо работает с настройками, но не с приложениями. Вы можете найти это на https://github.com/lra/mackup

Вы также можете использовать Homebrew как способ «синхронизации» ваших приложений. brew list > souceAppListна вашем iMac будут перечислены установленные там приложения. Вы можете сделать то же самое на своем MacBook и найти разницу, чтобы увидеть, чего не хватает. Что-то вроде:

targetApps="$(brew list)" 
for checkThisApp in $(cat /some/path/to/sourceAppList); do
  if [[ "$checkThisApp" != "$(echo "$targetApps"|grep -o $checkThisApp)" ]]; then
    echo "$appCheck is not installed on this computer"  # to notify an app is missing
    brew install "$appCheck"                            # to force the app install
  fi
done