Я ищу инструмент, который вы могли бы написать для автоматизации задач, например, установка пакета LAMP:
install package A
install package B
...
modify configure file of package B in line 12, column 23, add or remove the string 'extension=xdebug'
configure SSL
etc
etc
затем вы запускаете этот файл как:
$ tool exec conf.yml
Затем я хочу отменить задачи, которые я бы запустил:
$ tool rollback conf.yml
Запуск вернет его в исходное состояние без установки и конфигурации пакетов. Есть ли инструмент, который делает это в системе Ubuntu?
Вы ищете ansible или альтернативу, например saltstack, puppet или chef.
Ansible работает с учебниками, которые вы запускаете. Они подключаются по ssh к нужным хостам и становятся с помощью sudo командами установки. Ansible использует python и модули Ansible, которые выполняют задачи, определенные вами в YAML. Есть модуль редактирования файлов, который может заменять или добавлять строки.