Хранение файлов точек синхронизировано по машинам?
Как и большинство людей, я стараюсь играть с моими инструментами и настраивать их так, как мне нравится. До недавнего времени все было хорошо и хорошо. Поскольку я все больше и больше работаю, я стараюсь входить в систему на все больше и больше машин и получать все больше и больше вещей, которые отлично настраиваются на моей домашней машине, но не обязательно на моем рабочем компьютере, на моем веб-сервере или на моей работе серверы...
Как вы обновляете эти файлы конфигурации? Вы просто копируете их вручную? Вы их где-то публиковали?
Ответы
Ответ 1
Мне повезло, что мои файлы находятся под управлением системы контроля версий. Это не для всех, но большинство программистов должны быть в состоянии оценить преимущества.
Прочтите
Сохранение вашей жизни в Subversion
для отличного описания, в том числе о том, как обрабатывать конфигурацию, отличную от dotfile (например, задания cron через svnfix script) на нескольких машинах.
Ответ 2
Я также использую subversion для управления моими точками. Когда я вхожу в коробку, мои конфиги автоматически обновляются для меня. Я также использую github для хранения my confs публично. Я использую git -svn, чтобы синхронизировать два.
Подъем и запуск на новом сервере - это просто запуск нескольких команд. Create_links script просто создает символические ссылки из элементов папки .dotfiles в мой $HOME
, а также затрагивает некоторые файлы, которые не нужно проверять.
$ cd
# checkout the files
$ svn co https://path/to/my/dotfiles/trunk .dotfiles
# remove any files that might be in the way
$ .dotfiles/create_links.sh unlink
# create the symlinks and other random tasks needed for setup
$ .dotfiles/create_links.sh
Ответ 3
Кажется, что везде, где я смотрю в эти дни, я нахожу новую вещь, которая заставляет меня сказать: "Эй, было бы хорошо использовать DropBox для"
Ответ 4
Rsync - это ваше лучшее решение. Примеры можно найти здесь:
http://troy.jdmz.net/rsync/index.html
Ответ 5
Я использую git для этого.
Существует список вики/рассылки, посвященный теме.
vcs-home
Ответ 6
Я бы определенно рекомендовал homesick. Он использует git и автоматически символизирует ваши файлы. homesick track
отслеживает новый dotfile, а homesick symlink
символизирует новые dotfiles из репозитория в вашу домашнюю папку. Таким образом, вы даже можете иметь несколько репозиториев.
Ответ 7
Вы можете использовать rsync. Он работает через ssh, который я нашел полезным, так как я только устанавливаю новые серверы с доступом ssh.
Или создайте файл tar, который вы перемещаете повсюду и распаковываете.
Ответ 8
Я храню их в своей системе управления версиями.
Ответ 9
Я использую svn... с открытым и приватным репозиторием... поэтому, как только я нахожусь на сервере, я просто
svn co http://my.rep/home/public
и все мои файлы точек...
Ответ 10
Я храню мой в репозитории git
, который позволяет мне легко сливаться с зависящими от системы изменениями, но также меняю изменения, которые я тоже хочу.
Ответ 11
Я храню главные версии файлов под управлением CM на моей основной машине, и где мне нужно, упорядочить копии обновлений. К счастью, у нас есть NFS-mount для домашних каталогов на большинстве наших машин, поэтому мне не нужно часто копировать все это. С другой стороны, мой профиль является довольно сложным - и предоставляет различные настройки PATH и т.д. На разных машинах. Грубо говоря, у машин, на которых у меня есть административный контроль, как правило, установлено больше программного обеспечения с открытым исходным кодом, чем машины, которые я иногда использую без административного контроля.
Итак, у меня есть случайное сочетание ручного и полуавтоматического процесса.
Ответ 12
Существует netskel, где вы помещаете свои общие файлы на веб-сервер, а затем клиентская программа поддерживает dot файлы на любое количество клиентских машин. Он предназначен для работы на любом уровне клиентской машины, поэтому сценарии оболочки являются правильными сценариями sh
и имеют минимальное количество зависимостей.
Ответ 13
Svn здесь тоже. Rsync или unison были бы хорошей идеей, за исключением того, что иногда вещи перестают работать, и мне интересно, что было в моем файле .bashrc на прошлой неделе. В этом случае Svn является спасателем жизни.
Ответ 14
Теперь я использую Live Mesh, который синхронизирует все мои файлы на нескольких компьютерах.
Ответ 15
Я помещаю все свои файлы в папку Dropbox и затем привязываю их к каждой машине. Изменения, сделанные на одной машине, доступны практически всем остальным. Он просто работает.
Ответ 16
В зависимости от вашей среды вы также можете использовать (полностью резервные) NFS файлы...
Ответ 17
Говоря о хранении точечных файлов публично,
http://www.dotfiles.com/
и
http://dotfiles.org/
Но было бы очень больно вручную обновлять ваши файлы как (AFAIK), ни одна из этих служб не предоставляет какой-либо API.
Последний действительно минималистичен (никакой контактной формы, никакой информации о том, кто ее создал и т.д.)
Ответ 18
briefcase - это инструмент, облегчающий сохранение dotfiles в git, включая те, у которых есть личная информация ( например .gitconfig).
Сохраняя файлы конфигурации в общедоступном репозитории git git, вы можете поделиться своими настройками с другими. Любая секретная информация хранится в одном файле вне репозитория (его до вас можно сделать резервную копию и транспортировать этот файл).
- http://jim.github.com/briefcase