LINUX.ORG.RU

Организация user-конфигов

 


0

2

Допустим, есть некоторый репозиторий с конфигами из ~, повторяющий структуру домашней директории. Как наиболее красиво организовать закидывание (и автообновление при обновлении репозитория), собственно, этих конфигов в ~? Мне сходу придумывается три варианта:

  • разместить репозиторий непосредственно в ~
  • сделать симлинки в ~ на нужные куски репозитория (ручками или скриптом)
  • заюзать что-нибудь, умеющее мёржить две директории в одну, типа unionfs (вроде, таких штук несколько?)

Какой из вариантов предпочтительнее и почему?

★★

Для редко добавляющихся новых конфигов использую GNU Stow. Он использует второй метод из списка - делает симлинки. Досточно удобно.

pod ★★
()

Ansible. Может и мержить и раскладывать и разворачивать. Можешь хоть в автозагрузку прописать, а синхронизировать директорию Ansible чем угодно можно.

Black_Roland ★★★★
()
Ответ на: комментарий от Black_Roland

Можно подробнее, как это ansible может «мержить, раскладывать, разворачивать»? Модулем copy чтоли описывать каждый конфиг?

pod ★★
()
Ответ на: комментарий от pod

Через assemble, например, можно объединять несколько файлов в один.

Если нужно просто раскладывать конфиги из одного места в хомяк, то можешь сделать роль с copy и в плейбуке прописать относительные пути. Будет что-то вроде:

- { role: config, path: ".bashrc" }
В самой роли определи переменные откуда брать и куда.

Можно использовать template и подставлять какие-нибудь переменные (например имя хоста, на котором разворачивается конфиг).

Black_Roland ★★★★
()
Ответ на: комментарий от Black_Roland

Если заморочишься, то можешь получать список файлов в директории и копировать файлы из этой директории в хомяка. Тогда не придется прописывать пути к каждому конфигу.

Black_Roland ★★★★
()
Ответ на: комментарий от Black_Roland

Да, идея не плоха, надо будет попробовать. Только если я правильно понял, в случае с сабдиректориями будет несколько сложнее, придётся роле передавать 2 переменные - src и dest.

pod ★★
()
Ответ на: комментарий от Black_Roland

Правильно ли я понимаю, что при обновлении какого-нибудь конфига нужно будет явно что-нибудь сделать, чтобы в ~ конфиг тоже обновился?

devsdc ★★
() автор топика
Ответ на: комментарий от ZuBB

Оно же, вроде, судя по описанию, само версионирует конфигурационные файлы, а не занимается раскладыванием уже имеющегося репозитория в нужные места?

devsdc ★★
() автор топика
Ответ на: комментарий от devsdc

Правильно ли я понимаю, что при обновлении какого-нибудь конфига нужно будет явно что-нибудь сделать, чтобы в ~ конфиг тоже обновился?

Да - запустить playbook. Если очень хочется, то можешь настроить incron, но я не думаю что менять конфиги требуется настолько часто.

Black_Roland ★★★★
()
Ответ на: комментарий от devsdc

Если у тебя парк машин то ансибл, иначе я бьі рекомменовал тот тул. В нем раскладьіваешь тьі «руками»

ZuBB ★★★★★
()
Ответ на: комментарий от Black_Roland

Ну, это неудобно как раз в момент настройки чего-либо, независимо от частоты этого действия.

devsdc ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.