Как записать в журнал изменения, сделанные на машине Linux для дублирования тех же шагов на других машинах, для документации и для отмены

Я ищу метод или методы и инструменты автоматизации для регистрации изменений, которые я делаю на машине с Linux.

Такие корректировки будут:

  • Установка нового программного обеспечения / компонентов программного обеспечения через apt-get, включая принудительную установку определенных версий
  • Установка модулей Perl
  • Используйте make install, make process для достижения целей вышеуказанных пунктов.
  • Изменения в путях и переменных среды
  • Почти любое изменение, которое вы можете сделать на машине с Linux
  • Регистрация ошибок, которые могут привести к любому из указанных выше шагов

Я бы использовал эту технику регистрации для:

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

Почему я считаю такой метод или методы и инструменты необходимыми?

  • Потому что мы часто испытываем давление, набирая множество команд одну за другой, чтобы получить что-то для сборки, затем установить и т. Д.
  • Потому что, похоже, существует много программного обеспечения на основе Linux, которое не совсем работает так, как задумывали создатели, или инструкции являются неполными, неоднозначными. (Тем не менее, с такими сайтами и howtoforge.com становится все лучше)
  • Поскольку администраторы Linux, разработчики не очень хорошо документируют то, что они сделали, или не хотят, или считают это скучной задачей, считая это неважным

Особенности, которые я бы искал, включают в себя:

  • Регистрация команд, набранных и выводимых
  • Регистрация изменений, внесенных в систему
  • Возможно, инструмент сравнения стилей BeyondCompare для интеллектуального сравнения разделов файловой системы, созданных до и после изменений

3 ответа

Решение

Вы только что описали управление конфигурацией и такие инструменты, как Puppet или Chef.

Принцип заключается в том, что вы пишете свои конфигурации модульно на предметно-ориентированном языке. Эти модули могут затем быть наслоены, чтобы привести хост в требуемое полное или частичное состояние и сохранить его там. Они также формируют вашу документацию, поскольку DSL должен легко читаться и использоваться повторно. В сочетании с Revision Control вы получаете более детальный контроль над изменениями. Большинство реализаций включают методы ведения журналов, которые могут быть расширены.

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

Для части "Введенные в журнал команды и вывод" вы можете использовать командный скрипт.

SCRIPT(1)                 BSD General Commands Manual                SCRIPT(1)

NAME
     script — make typescript of terminal session

SYNOPSIS
     script [-a] [-c COMMAND] [-f] [-q] [-t] [file]

DESCRIPTION
     Script makes a typescript of everything printed on your terminal.  It is
     useful for students who need a hardcopy record of an interactive session
     as proof of an assignment, as the typescript file can be printed out
     later with lpr(1).

     If the argument file is given, script saves all dialogue in file.  If no
     file name is given, the typescript is saved in the file typescript.

Действительно полезно документировать то, что вы сделали.

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

Другие вопросы по тегам