Управление несколькими конфигурациями (/ etc) – с помощью VCS?

У меня есть машина, которая должна иметь две конфигурации, которые мне нужно поддерживать (машина иногда перемещается между двумя средами и имеет разные роли в каждой среде).

Примечание. Это не корпоративная среда, это домашняя среда.

Я рассматриваю VCS (мне нравится git ), возможно, используя etckeeper . Однако я понимаю, что мой набор инструментов ограничен, и мой молот VCS может привести к тому, что эта проблема будет идентифицирована как гвоздь, когда ее можно будет идентифицировать лучше, чем что-то еще.

Правильно ли это решение?

  • файловая система root, не может читать / etc / mtab
  • Какова цель `/ etc / group-`
  • Увеличение ограничения nproc для пользователя без полномочий root. Эффективно только перезапуском
  • Значение / proc / sys / kernel / hostname
  • Управление конфигурацией, общие файлы и т. Д. С помощью ноутбука
  • как сохранить yum от обновления файла, который я изменил?
  • В чем разница `/ etc / modules-load.d` и` / etc / modules`?
  • Разрешения, изменяющиеся на несколько файлов в каталоге / etc /
  • 3 Solutions collect form web for “Управление несколькими конфигурациями (/ etc) – с помощью VCS?”

    У вас есть несколько альтернатив для решения вашей проблемы:

    • использовать VCS и следить за тем, чтобы отслеживать разрешения и информацию о владельцах файлов
    • используйте экземпляр KVM для вашей второй среды, то есть вы можете установить второй экземпляр Linux там, если у вас достаточно места на жестком диске
    • настройте конфигурацию с двойной загрузкой, так что вы установите Linux-систему для первой среды на разделе X и Linux-систему для второго в разделе Y

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

    Вы можете взглянуть на switchconf, который разработан специально для обработки нескольких конфигураций / etc и переключения между собой, когда это необходимо.

    Вам нужно будет создать 2 конфигурации в каталоге /etc/switchconf , назовем их entreprise и home . В каждом каталоге вам нужно будет создать подкаталоги etc, в которых необходимо изменить файлы конфигурации, и сохранить их в файлах, например:

     /etc/switchconf/enterprise/etc/network/interface # in which you store your enterprise network interface configuration /etc/switchconf/home/etc/network/interface # in which you store your home network interface configuration 

    Если вам нужны некоторые сценарии, которые должны быть выполнены до или после переключения конфигурации, вы можете сохранить их в /etc/switchconf/before.d и /etc/switchconf/after.d .

    Наконец, чтобы переключиться с одной конфигурации на другую, просто запустите switchconf enterprise чтобы использовать конфигурацию entreprise или switchconf home для использования домашней конфигурации.

    Для машины, которая должна быть перемещена между средами, я попытался бы иметь один набор файлов для /etc , причем как можно больше измененной конфигурации можно установить динамически с помощью сценариев оболочки. Например, сетевая конфигурация, вероятно, различна, поэтому используйте директиву mapping в /etc/network/interfaces или условные /etc/network/if-up.d в сценариях в /etc/network/if-up.d и братьях и сестрах.

    Если некоторые статические файлы необходимо изменить, сохраните два набора в двух разных каталогах, например

     /etc/configuration/work/xorg.conf /etc/configuration/home/xorg.conf /etc/configurations/current -> work /etc/X11/xorg.conf -> /etc/configurations/current/xorg.conf 

    Таким образом, вы переключаетесь между конфигурациями, изменяя /etc/configurations/current символическую ссылку и перезапуска затрагивая сервисы.

    Возможно, вы сможете использовать механизмы, которые уже существуют в некоторых подсистемах, таких как схемы PCMCIA.

    Linux и Unix - лучшая ОС в мире.